当前位置: 首页 > news >正文

喀什网站建设百度推广网络开发工程师

喀什网站建设百度推广,网络开发工程师,马尾区建设局网站,泉州企业做网站文章目录 78. 子集#xff08;集合的所有子集#xff09;90. 子集 II#xff08;集合的所有子集#xff09;792. 匹配子序列的单词数#xff08;判断是否为子集#xff09;500. 键盘行#xff08;集合的交集#xff09;409. 最长回文串#xff08;set#xff09; 更多… 文章目录 78. 子集集合的所有子集90. 子集 II集合的所有子集792. 匹配子序列的单词数判断是否为子集500. 键盘行集合的交集409. 最长回文串set 更多 leetcode 题解可参考【Programming】 78. 子集集合的所有子集 给定一组不含重复元素的整数数组 nums返回该数组所有可能的子集幂集。 说明解集不能包含重复的子集 思路可以迭代可以回溯 算 1 的子集的时候新增 1 结合 空集 算 2 的子集的时候2 结合 1 的所有子集 算 3 的子集的时候3 结合 2 的所有子集 … class Solution(object):def subsets(self, nums)::type nums: List[int]:rtype: List[List[int]]result [[]]for i in nums:result.extend([j [i] for j in result])return result相似题目 1863. 找出所有子集的异或总和再求和 90. 子集 II集合的所有子集 给定一个可能包含重复元素的整数数组 nums返回该数组所有可能的子集幂集。 说明解集不能包含重复的子集。 思路和 78 唯一不同的是 nums 可能包含一样的元素这个时候就会存在 [1,2] 和 [2,1] 或者更难一点的 [1,2,2] 和 [2,1,2] 的情况78 的解法这两个都会保留78中元素不一样但是这题只能保留其中一种 简单的 set 好像排除不了我用的是 sorted class Solution(object):def subsetsWithDup(self, nums)::type nums: List[int]:rtype: List[List[int]]result [[]]for i in nums:result.extend([j [i] for j in result])set1 set(tuple(sorted(item)) for item in result) # tuple 才能 hash——setsorted 配合set来去重list1 list(list(item) for item in set1)# 转化成输出的格式return list1792. 匹配子序列的单词数判断是否为子集 给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数。 示例: 输入: S “abcde” words [“a”, “bb”, “acd”, “ace”] 输出: 3 解释: 有三个是 S 的子序列的单词: “a”, “acd”, “ace”。 注意: 所有在words和 S 里的单词都只由小写字母组成。 S 的长度在 [1, 50000]。 words 的长度在 [1, 5000]。 words[i]的长度在[1, 50]。 思路in 或者 find 都不能判断这种跨越的子集暴力法遍历了 class Solution(object):def numMatchingSubseq(self, S, words)::type S: str:type words: List[str]:rtype: intcount 0for item in words:i 0j 0flag 0while(ilen(S) and jlen(item)):if S[i] item[j]:i1j1if jlen(item):breakelse:i1if ilen(item) and item[j] not in S: # 根本不在S中就不浪费表情去一个一个滑动找了breakif j len(item):count1return count但是超时了字典树 class Solution(object):def numMatchingSubseq(self, S, words)::type S: str:type words: List[str]:rtype: intimport collectionswaiting collections.defaultdict(list)for w in words:waiting[w[0]].append(iter(w[1:]))for c in S:# print(c, c)# Python 字典 pop() 方法删除字典给定键 key 所对应的值返回值为被删除的值。key值必须给出。 否则返回default值。# 把所有以c开头的word都删除for it in waiting.pop(c, ()):# 如果这个word还有其他字母则与之前的合并否则放到None中表示该word能匹配waiting[next(it, None)].append(it)return len(waiting[None])500. 键盘行集合的交集 给定一个单词列表只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] 注意 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 思路暴力法比较每一个字母是否在键盘的三行中 class Solution(object):def findWords(self, words)::type words: List[str]:rtype: List[str]s1 qwertyuiops2 asdfghjkls3 zxcvbnmresult []for word in words: # 遍历单词item set(word.lower())num1 0num2 0num3 0for i in item:if i in s1:num11elif i in s2:num21else:num31if num1len(item) or num2len(item) or num3len(item):result.append(word)return result还可以用集合的交集和三行的交集是否为本身是的话就表示该 string 是由一行键盘打出来的这样就不用两层循环了 class Solution(object):def findWords(self, words)::type words: List[str]:rtype: List[str]s1 qwertyuiops2 asdfghjkls3 zxcvbnmresult []for word in words: # 遍历单词if set(word.lower()) set(s1) set(word.lower()) or\set(word.lower()) set(s2) set(word.lower()) or \set(word.lower()) set(s3) set(word.lower()):result.append(word)return result拓展集合的并集 | 集合的差 - 409. 最长回文串set 给定一个包含大写字母和小写字母的字符串找到通过这些字母构造成的最长的回文串。 在构造过程中请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 解释: 我们可以构造的最长的回文串是dccaccd, 它的长度是 7。 思路先用 set 统计每个元素的数量偶数的可以直接算作回文串的子集奇数减1成偶数让其构成回文串子集如果元素数量是1减去后就为0最后输出结果把子集拼起来1 即可如果子集拼起来的长度和原字符串的长度相等就不用加1了 class Solution(object):def longestPalindrome(self, s)::type s: str:rtype: intset1 set(s)number_list []sum1 0for i in set1: # 统计每个元素的数量number_list.append(s.count(i))for i,j in enumerate(number_list): # 遍历数量偶数不变奇数减一if j % 2 1:number_list[i] - 1sum1 number_list[i]if sum11 len(s): # 这里避免bb 的情况return len(s)else:return sum11
http://wiki.neutronadmin.com/news/478119/

相关文章:

  • wordpress 网站搬迁万润 企业网站建设
  • 惠州建设工程造价管理站网站网站建设可以资本化吗
  • 网站建设前途海阳网站制作
  • 农业企业网站建设流程正版视频素材网站
  • 做网站前期框架图临清建设网站
  • 淄博网站制作优化flash html网站模板
  • 无锡 网站 seo 优化河南网站推广
  • 互联网站外推广聊天软件哪个最火
  • 大连网站开发哪家好wordpress ie8不兼容
  • 金融网站建设方案网站的分辨率
  • 国外c2c平台seo网站推广企业
  • 网站的运营模式那个网站有兼职做室内设计
  • 邢台网站制作多少钱做网站可以用ai做
  • 盐城z做网站网络营销概述
  • 国外做游戏评测的视频网站做网站报价单
  • 怎么做网站标题优化上海网站建设与设计
  • lol视频网站源码上海的公司名称
  • 南阳网站优化公司免费网站教程
  • 加快信用网站建设建设部统计快报网站
  • 网站开发所需经费最火的电商平台
  • 怎么用ajax做电商网站营销网站建设专业服务公司
  • 网站管理员权限怎么设置wordpress 雷锋模板
  • 高端设计网站制作好的设计网站
  • 湘潭网站建设开发网站怎么建设商城
  • 目前做网站最流行的程序语言wordpress支付系统
  • 本地搭建asp网站电影 wordpress
  • 深圳东门地铁站叫什么wordpress分页ajax
  • 苏州企业网站建设网络服务外包项目
  • 网站运营是什么网页上传 网站
  • 属于您自己的网站建设职业生涯规划大赛含金量