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

求职招聘网站开发代码重庆森林百度云

求职招聘网站开发代码,重庆森林百度云,苏州网站开发公司兴田德润怎么联系,做一个简单的管理系统给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。先排序 1 1 2 2 2 2 直到二者有相等的元素 将这个元素标记下来 然后继续往后移动 不然就是谁小谁往后移动 我们暂时不考虑 交集中元素唯…

给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

先排序   1 1 2 2   2 2 直到二者有相等的元素 将这个元素标记下来 然后继续往后移动 不然就是谁小谁往后移动 我们暂时不考虑 交集中元素唯一的这个条件 好的 来写代码

class Solution(object):def intersection(self, nums1, nums2):nums1=sorted(nums1)nums2=sorted(nums2)index_1=0index_2=0#nums3=[]while index_1<len(nums1) and index_2<len(nums2):if nums1[index_1]==nums2[index_2]:nums3.append(nums1[index_1])index_1+=1index_2+=1elif nums1[index_1]<nums2[index_2]:index_1+=1else:index_2+=1return nums3
solution=Solution()
result=solution.intersection([1,2,2,1], [2,2])
print(result)

好的 现在这个代码的问题是出现重复的还是会继续记录下去 那再去重就可以了 这个方法肯定是可以的 但是会不会超出时间限制我就不知道了 我们还是应该使用哈希表的方式来 只有在这个key不在的时候 才加上 

class Solution(object):def intersection(self, nums1, nums2):nums1=sorted(nums1)nums2=sorted(nums2)print(nums1,nums2)index_1=0index_2=0#nums3= {}while index_1<len(nums1) and index_2<len(nums2):if nums1[index_1]==nums2[index_2]:if nums1[index_1] not in nums3:nums3[index_1]=nums1[index_1]index_1+=1index_2+=1elif nums1[index_1]<nums2[index_2]:index_1+=1else:index_2+=1return list(nums3.values())
solution=Solution()
result=solution.intersection([1,2,2,1],  [1,1])
print(result)

但是不对 这个输出是 【1,1】我很不理解 我不是只有这个key没在的时候才加入吗? {0: 1, 1: 1} nums3打印出来是这样的 然后其实是我对于字典的了解还是太浅了

nums3[index_1]=nums1[index_1] 这句代码的意思是使用index_1做key 而不是使用Nums[index_1]做key
class Solution(object):def intersection(self, nums1, nums2):nums1=sorted(nums1)nums2=sorted(nums2)print(nums1,nums2)index_1=0index_2=0#nums3= {}while index_1<len(nums1) and index_2<len(nums2):if nums1[index_1]==nums2[index_2]:if nums1[index_1] not in nums3:nums3[nums1[index_1]]=nums1[index_1]index_1+=1index_2+=1elif nums1[index_1]<nums2[index_2]:index_1+=1else:index_2+=1print(nums3)return list(nums3.values())
solution=Solution()
result=solution.intersection([1,2,2,1,3],  [1,1,3])
print(result)

这样写就是对的 但是运行速度实在是太慢了 我们思考其他方法 可以是两个数组都统计 一下各自的数字是多少 如果在这个地方二者都是有这个数字的话 那么交集就加上这个数字 因为两个数组的Nums【i】的范围也是很有限的 那我们试试这个方法

class Solution(object):def intersection(self, nums1, nums2):nums1_counter=[0]*1001nums2_counter = [0] * 1001nums3=[]for i in range(len(nums1)):if nums1_counter[nums1[i]]==0:nums1_counter[nums1[i]]=nums1[i]#这样就行for i in range(len(nums2)):if nums2_counter[nums2[i]]==0:nums2_counter[nums2[i]]=nums2[i]#这样就行for i in range(1001):if nums1_counter[i] and nums2_counter[i]:nums3.append(nums1_counter[i])return nums3
solution=Solution()
result=solution.intersection([1,2,2,1,3],  [1,1,3])
print(result)但是我又忽略了一种情况 那么就是如果这个数值是0的话 那这样的话我设置的这个value值也是0 那不行 其实是应该这样的 就是应该如果这个数字有的话 设置为1 但是在计算交集的时候 去appendkey 而不是value
class Solution(object):def intersection(self, nums1, nums2):nums1_counter=[0]*1001nums2_counter = [0] * 1001nums3=[]for i in range(len(nums1)):if nums1_counter[nums1[i]]==0:nums1_counter[nums1[i]]=1#这样就行for i in range(len(nums2)):if nums2_counter[nums2[i]]==0:nums2_counter[nums2[i]]=1#这样就行for i in range(1001):if nums1_counter[i] and nums2_counter[i]:nums3.append(i)return nums3
solution=Solution()
result=solution.intersection([0,1,2,2,1,3],  [0,1,1,3])
print(result)但是运行速度还是不行 我们继续寻找优化的方法 其实可以先去重了 然后再使用双指针法 

更好的思路是对一个进行去重 然后看去重之后的这个数组的每个元素是不是在另外一个数组 在的话就给加上 这样也不用担心元素重复的问题 都是可以的

如果喜欢这篇文章 欢迎点赞收藏~

http://www.dtcms.com/a/444424.html

相关文章:

  • 完整版网站推广方案成都房地产公司排行榜
  • aspnet网站开发教程数据库企业网站建设知识应用技能
  • 微信网站的结构互联网营销师培训教程
  • 集团型网站建设企业网站搭建教程
  • 如何建网站遂宁wordpress新手入门教程
  • 网站建设提供的网站资料wordpress 淘宝客赚钱
  • 在网站建设中 为了防止工期拖延页优化软件
  • seo网站建设是什么网站建设案例新闻
  • 优化网站哪个好网站注册协议模板
  • 简单三栏网站背景图在线制作
  • 网站建立定位企划小程序推广收费价目表
  • 做中医药网站有前景吗安卓上搭建wordpress
  • 图书翻页的动画 做网站启动用网站建设环境
  • 刷业务网站怎么做网站访问量太多
  • 搜索引擎网站的结构wordpress页面构造器
  • 北京网站建设外包公司网站建设与维护实训总结
  • 阿里云服务器win系统建站教程关于网站建设的报告
  • 网站菜单导航制作教程wordpress两侧悬浮框
  • 成都网站制作公司报价小学编程培训班多少钱一个月
  • 网站建设制作作业微信公众号申请
  • 网站开发一般分为几个步骤什么都能搜的浏览器
  • 做网站资源管理是网站建设seo合同书
  • 优秀企业网站建设公司wordpress 翻墙
  • 柔造网站定制商标设计免费的app
  • 横向网站北京建设招标信息网站
  • 买个网站多少钱免费引流app下载
  • 在线支付网站制作有没有帮忙做推广的网站
  • 如何做企业网站规划微信朋友圈产品推广语
  • 详述网站建设的过程大连网站建设个人
  • 影响网站打开速度的因素wordpress中国加速