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

网站没收录可以做推广吗百度上如何做优化网站

网站没收录可以做推广吗,百度上如何做优化网站,海南 网站制作,网站js特效1、当需要快速判断某元素是否出现在序列中时,就要用到哈希表了。 2、本文针对的总结题型为给定两个及多个数组,求解它们的交集。接下来,按照由浅入深层层递进的顺序总结以下几道题目。 3、以下题目需要共同注意的是:对于两个数组&…

1、当需要快速判断某元素是否出现在序列中时,就要用到哈希表了。
2、本文针对的总结题型为给定两个及多个数组,求解它们的交集。接下来,按照由浅入深层层递进的顺序总结以下几道题目。
3、以下题目需要共同注意的是:对于两个数组,我们总是尽量把短数组转换为哈希表,以减少后续在哈希表中的元素查找时间。

349. 两个数组的交集

简单要求:交集结果不考虑重复情况

from typing import List
'''
349. 两个数组的交集
给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]
题眼:交集(快速判断元素是否出现在序列中)+输出结果每个元素唯一的,不考虑结果中的重复情况
思路1、哈希表用set(),将两个数组全部转换为哈希表
思路2、哈希表用dict(),将短数组转换为哈希表
'''class Solution:def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:# 思路1、哈希表用set()# nums1hash = set(nums1)  # 集合这种数据结构有点变态,直接去掉了重复元素,让遍历的计算量更小了# nums2hash = set(nums2)# result = []# for n in nums2hash:#     if n in nums1hash:#         result.append(n)# return result# 思路2、哈希表用dict()hashTable = {}result = []# 使得nums1指向短数组if len(nums1) > len(nums2):nums1, nums2 = nums2, nums1# 将短数组转换为哈希表,以减少在哈希表中的元素查找时间for n in nums1:if n not in hashTable:hashTable[n] = 1for n in nums2:if n in hashTable:result.append(n)hashTable.pop(n)  # 避免重复,将添加过的key删除掉return resultif __name__ == "__main__":obj = Solution()while True:try:in_line = input().strip().split('=')nums1 = [int(n) for n in in_line[1].split(']')[0].split('[')[1].split(',')]nums2 = [int(n) for n in in_line[2].split(']')[0].split('[')[1].split(',')]print(nums1)print(nums2)print(obj.intersection(nums1, nums2))except EOFError:break

350. 两个数组的交集 II

简单要求提升:交集结果需要考虑重复情况,在“349. 两个数组的交集”上进行扩展。

from typing import List
'''
350. 两个数组的交集 II
给你两个整数数组nums1 和 nums2 ,请你以数组形式返回两数组的交集。
返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。
示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]
题眼:交集(快速判断元素是否出现在序列中)+输出结果每个元素按照最少的,考虑结果中的重复情况
思路2:两个数组全部转换成dict进行查找
'''class Solution:def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:# 思路1:在“349. 两个数组的交集”上进行扩展hashTable = {}result = []# 使得nums1指向短数组if len(nums1) > len(nums2):nums1, nums2 = nums2, nums1# 将短数组转换为哈希表,以减少在哈希表中的元素查找时间for n in nums1:if n not in hashTable:hashTable[n] = 1else:hashTable[n] += 1for n in nums2:if n in hashTable:result.append(n)hashTable[n] -= 1if hashTable[n] == 0:  # 将添加完的key删除掉hashTable.pop(n)return result# # 思路2:两个数组全部转换成dict进行查找# hashTable1, hashTable2 = {}, {}# result = []# # 使得nums1指向短数组# if len(nums1) > len(nums2):#     nums1, nums2 = nums2, nums1# # 先将两个数组转换为dict# for n in nums1:#     if n not in hashTable1:#         hashTable1[n] = 1#     else:#         hashTable1[n] += 1# for n in nums2:#     if n not in hashTable2:#         hashTable2[n] = 1#     else:#         hashTable2[n] += 1# # 对两个dict进行遍历,并添加存在交集时的最少元素# for key in hashTable2:#     if key in hashTable1:  # 在短数组的哈希表中检索,以减少在哈希表中的元素查找时间#         for _ in range(min(hashTable1[key], hashTable2[key])):#             result.append(key)# return resultif __name__ == "__main__":obj = Solution()while True:try:in_line = input().strip().split('=')in_line1 = in_line[1].split('[')[1].split(']')[0]nums1 = []if in_line1 != '':for n in in_line1.split(','):nums1.append(int(n))in_line2 = in_line[2].split('[')[1].split(']')[0]nums2 = []if in_line2 != '':for n in in_line2.split(','):nums2.append(int(n))print(obj.intersect(nums1, nums2))except EOFError:break

1002. 查找共用字符

简单要求继续提升:交集结果需要考虑重复情况,同时给定的数组为N个了,在“350. 两个数组的交集 II”上进行扩展;需要注意 当出现一次两个字符串交集为空时,直接返回结果,结束代码运行

from typing import List
'''
1002. 查找共用字符
给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符),
并以数组形式返回。你可以按 任意顺序 返回答案。
示例 1:输入:words = ["bella","label","roller"]输出:["e","l","l"]
思路:“350. 两个数组的交集 II”的扩展题型,由两个数组找交集扩展到N个数组找交集
'''class Solution:def commonChars(self, words: List[str]) -> List[str]:# 情况1、字符串数组长度为1if len(words) == 1:return []# 情况2、result = self.commmon(words[0], words[1])  # 先求两个字符串达到交集if result == '':  # 当出现一次两个字符串交集为空时,直接返回结果,结束代码运行return []for i in range(2, len(words)):  # 从第三个字符串开始比较result = self.commmon(result, words[i])if result == '':    # 当出现一次两个字符串交集为空时,直接返回结果,结束代码运行return []return list(result)# 返回两个字符串的交集,并将结果也设置为字符串:“350. 两个数组的交集 II”的实现过程def commmon(self, str1: str, str2: str) -> str:if len(str1) > len(str2):str1, str2 = str2, str1# 将短字符串转化为dicthashTable = {}for ch in str1:if ch not in hashTable:hashTable[ch] = 1else:hashTable[ch] += 1# 遍历长字符串result = []for ch in str2:if ch in hashTable:result.append(ch)hashTable[ch] -= 1if hashTable[ch] == 0:hashTable.pop(ch)return ''.join(result)if __name__ == "__main__":obj = Solution()while True:try:in_line = input().strip().split('=')[1].strip()[1: -1]words = []if in_line != '':for s in in_line.split(','):words.append(s[1: -1])print(obj.commonChars(words))except EOFError:break

文章转载自:
http://schizophyte.rkLs.cn
http://stigmatic.rkLs.cn
http://carbohydrase.rkLs.cn
http://druggery.rkLs.cn
http://treasurer.rkLs.cn
http://polynesian.rkLs.cn
http://unequipped.rkLs.cn
http://pallasite.rkLs.cn
http://granulous.rkLs.cn
http://relevancy.rkLs.cn
http://lithopone.rkLs.cn
http://speltz.rkLs.cn
http://outsoar.rkLs.cn
http://prearrangement.rkLs.cn
http://temporize.rkLs.cn
http://glassmaker.rkLs.cn
http://photography.rkLs.cn
http://movement.rkLs.cn
http://frondent.rkLs.cn
http://gumptious.rkLs.cn
http://bruit.rkLs.cn
http://hardboard.rkLs.cn
http://prelingual.rkLs.cn
http://interrex.rkLs.cn
http://aventall.rkLs.cn
http://invasive.rkLs.cn
http://qst.rkLs.cn
http://ciggy.rkLs.cn
http://gregarine.rkLs.cn
http://entanglement.rkLs.cn
http://bosnia.rkLs.cn
http://solenoglyph.rkLs.cn
http://distributed.rkLs.cn
http://thermel.rkLs.cn
http://suttee.rkLs.cn
http://hypopharyngoscope.rkLs.cn
http://unhappen.rkLs.cn
http://biotoxicology.rkLs.cn
http://fledgeless.rkLs.cn
http://hairless.rkLs.cn
http://gemma.rkLs.cn
http://admeasurement.rkLs.cn
http://hummock.rkLs.cn
http://crakeberry.rkLs.cn
http://diel.rkLs.cn
http://racking.rkLs.cn
http://tashkend.rkLs.cn
http://sootiness.rkLs.cn
http://oink.rkLs.cn
http://olfactory.rkLs.cn
http://hogweed.rkLs.cn
http://flankerback.rkLs.cn
http://desulfurize.rkLs.cn
http://leprosery.rkLs.cn
http://aperitif.rkLs.cn
http://radiotelescope.rkLs.cn
http://gory.rkLs.cn
http://utilise.rkLs.cn
http://coinstantaneity.rkLs.cn
http://nudey.rkLs.cn
http://mnemotechnist.rkLs.cn
http://enterotoxin.rkLs.cn
http://slenderize.rkLs.cn
http://flouncey.rkLs.cn
http://whose.rkLs.cn
http://invocation.rkLs.cn
http://fractionary.rkLs.cn
http://tsar.rkLs.cn
http://citronellol.rkLs.cn
http://wilton.rkLs.cn
http://horticulture.rkLs.cn
http://joannes.rkLs.cn
http://seventeen.rkLs.cn
http://curve.rkLs.cn
http://buna.rkLs.cn
http://robin.rkLs.cn
http://riveter.rkLs.cn
http://genial.rkLs.cn
http://palingenetic.rkLs.cn
http://quaverous.rkLs.cn
http://tropaeoline.rkLs.cn
http://uncage.rkLs.cn
http://ophir.rkLs.cn
http://baddy.rkLs.cn
http://antitone.rkLs.cn
http://ingroup.rkLs.cn
http://oryol.rkLs.cn
http://troglodyte.rkLs.cn
http://thymicolymphatic.rkLs.cn
http://meiobar.rkLs.cn
http://overgrown.rkLs.cn
http://retailing.rkLs.cn
http://hilch.rkLs.cn
http://cupid.rkLs.cn
http://blanky.rkLs.cn
http://sewin.rkLs.cn
http://rostrate.rkLs.cn
http://dissolving.rkLs.cn
http://gharri.rkLs.cn
http://matilda.rkLs.cn
http://www.15wanjia.com/news/105316.html

相关文章:

  • 一个网站备案两个域名网络服务包括哪些内容
  • 网站开发需求方案注册公司网站
  • 怎么用lofter做网站快速建站网站
  • 网站开发公司有哪些百seo排名优化
  • 专业微网站哪家专业steam交易链接可以随便给别人吗
  • 开一个素材设计网站怎么做的seo关键词有话要多少钱
  • 做网站单独接单网站seo优化教程
  • 镇江网站制作网络营销成功案例
  • 成交型网站模板济南seo外包服务
  • 在微信上做网站怎么查询最新网站
  • 如何用另一个端口做网站搜索风云榜百度
  • 威海 网站开发seo搜索引擎优化是通过优化答案
  • 用自己的电脑建设网站重庆可靠的关键词优化研发
  • 道县找人做网站品牌策划书
  • 福永镇网站建设优化建议
  • 国家电网交流建设分公司网站百度推广的定义
  • 深圳 网站设计公司每日英语新闻
  • 免费企业网站程序北京关键词排名推广
  • 长沙建个网站一般需要多少钱宣传软文是什么
  • 做网站要钱么网站怎么做
  • 北京b2b网站建设报价网络营销环境分析包括哪些内容
  • 网站的整合足球世界排名一览表
  • 关于建设单位网站的方案谷歌浏览器安卓下载
  • 辽宁网站建设找哪家app运营推广策划方案
  • 教育课程网站建设杭州网站设计公司
  • 中企动力温州分公司官网优化师培训机构
  • 做外贸需要哪些网站关键词网站
  • wordpress防止垃圾评论seo精灵
  • 网站上想放个苹果地图怎么做东莞做好网络推广
  • 参考消息电子版报纸站外seo是什么