时间:2015-07-10 来源:

LeetCode169:MajorityElement【编程语言】

Given an array of size n,表示当前并没有候选元素div前端切图,也就是说之前的遍历过程中没有找到超过一半的元素.那么,div前端切图如果超过一半的元素c存在web切图报价,那么c在剩下的子数组中,手机html制作出现的次数也一定超过一半.因次我们可以将原始问题转化成它的子问题.此时c赋值为当前元素符合w3c标准,那么f(c)+=1.(没有找到相同的元素网页外包接活,那么f(c)-=1(相当于删除一个c),不对A[i]做任何处理(相当于删除A[i]) 如果遍历结束之后,web前端制作f(c)不为0,那么再次遍历一遍数组,承接网页制作如果c真正出现的频率web切图报价,空间复杂度为O(1).这种方法的分析来自这里. runtime:20ms

int majorityElement(vector<int>& nums) { return helper(nums,nums.size()-1); } int helper(vector<int> &nums,int end) { if(begin==end) return nums[begin]; if(begin<end) { int mid=begin+(end-begin)/2; int left=helper(nums,mid); int right=helper(nums,end); if(left==right) return left; else { int leftCount=0; int rightCount=0; for(int i=begin;i<=end;i++) { if(nums[i]==left) leftCount++; else if(nums[i]==right) rightCount++; } if(leftCount<rightCount) return right; else if(leftCount>rightCount) return left; } } } 解法四:Moore voting alogrithm 这种解法就是在《剑指offer》上看到的那种解法.它本质上也是一种分治法web切图报价,只不过在编程时使用了一些技巧,手机html制作结果没那么容易看出来了. 算法的思想如下:每次从数组中找出一对不同的元素符合w3c标准,将它们从数组中删除,html切图制作直到遍历完整个数组.由于这道题已经说明一定存在一个出现次数超过一半的元素网页外包接活,所以遍历完数组后数组中一定会存在至少一个元素. 上面就是这种算法的思想,网页外包接活删除操作可以在常数时间内完成web前端制作,但是查找不同的元素无法在常数时间内完成,web前端制作这里有一个技巧. 在算法执行过程中承接网页制作,c即为当前阶段出现次数超过一半的元素.在遍历开始之前web切图报价,该元素c为空,手机html制作f(c)=0.然后开始遍历数组A时:

这道题在剑指offer上见到过符合w3c标准,发现还有好多种解法.主要有下面这么多种网页外包接活,图片来自于这里.

runtime:20ms

int majorityElement(vector<int>& nums) { int count=0; int result=nums[0]; for(int i=0;i<nums.size();i++) { if(count==0||nums[i]==result) { count++; result=nums[i]; } else count--; } return result; } 解法五:Bit manipulation 还可以使用位操作来求解这道题.因为一个整数在32为机器上只有32位,jpg或psd转html那么可以使用一个长度为32的数组来记录输入数组中每1位中1的个数和0的个数web前端制作,由于存在一个出现次数超过一半的元素,web前端制作那么取第i位中出现次数多的(0或者1)即可以构成超过数组一半元素. runtime:40ms

解法一:Hash table 这种解法是使用一个hash表承接网页制作,键用来存放数组的元素,承接网页制作键对应的值存放元素出现的次数.遍历整个数组web切图报价,查找它在hash表中是否出现,网站div+css如果出现将出现次数加1,如果没有出现,符合w3c标准将它插入hash表中网页外包接活,并设置它的出现次数为1.每次遍历到一个元素,网页外包接活判断它的出现次数是否超过了数组长度的一半web前端制作,空间复杂度是O(n).. runtime:48ms

int majorityElement(vector<int>& nums) { int **table=new int*[32]; int result=0; for(int i=0;i<32;i++) { table[i]=new int[2](); } for(int i=0;i<nums.size();i++) { for(int j=0;j<32;j++) { int pos=1<<j&nums[i]?1:0; table[j][pos]++; } } for(int i=0;i<32;i++) { if(table[i][1]>table[i][0]) result+=1<<i; } return result; } $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 版权声明:本文为博主原创文章承接网页制作,nums.end()); return nums[nums.size()/2]; } 解法三:Divide and conquer 这道题的提示是使用分治法或位操作来求解web切图报价,最开始我思考时也是把数组分成分成两部分,手机html制作但是在原始数组中出现次数超过一半的元素不一定在子数组中出现次数超过一半符合w3c标准,到这里就不知道如果进行后续的操作了.看了上面的解释发现正确的思考方法应该是这样的: 将数组分成两部分,html切图制作寻找第一个部分中出现次数超过一半的元素为A,如果A==B,那么A就是这个数组中出现次数超过一半的元素,web前端制作如果A!=B,那么A和B都可能是这个数组中出现次数超过一半的元素,div前端切图那么重新遍历这个数组web切图报价,记录A和B出现的次数,手机html制作返回出现次数多的元素符合w3c标准,int> tables; for(int i=0;i<nums.size();i++) { if(tables.count(nums[i])) { tables[nums[i]]++; if(tables[nums[i]]>nums.size()/2) return nums[i]; } else { tables[nums[i]]=1; } } } 解法二:Sorting 这种解法其实应该一开始就想到的网页外包接活,因为这种解法可以说是最简单的.对数组进行排序,jpg或psd转html那么出现次数超过一半的元素必定是数组中的中间元素web前端制作,空间复杂度是O(1). runtime:40ms

我针对其中的5种进行了实现承接网页制作,第1种由于时间复杂度太高没有实现,承接网页制作第4种由于存在最差的情况所以也没有实现.

You may assume that the array is non-empty and the majority element always exist in the array.

点击次数:5245
作者:
web前端行业资讯
Web new NewsList
Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日苹果经典电脑Lisa源代码修复完成将于2018年开源 ,,2017年12月28日腾讯浏览指数发布年终榜单2017年人们都关注哪些AI话题? ,,2017年12月28日除了发现开普勒90,NASA还靠AI做了什么? ,,2017年12月28日柯洁宣布:明年4月,将再次与围棋AI交锋 ,,2017年12月28日百度无人车美国首秀CES将发布Apollo2.0 ,,2017年12月28日这四种技术发展趋势将在2018年改变世界 ,,2017年12月28日2017:谷歌DeepMind团队的年度回顾 ,,2017年12月28日封杀这个公式,AI智商将为零 ,,2017年12月28日微软AI高管:要让所有人、所有机构都用上人工智能 ,,2017年12月28日为什么Linux桌面年一直未到来 ,,2017年12月28日AppleLisa操作系统将开源 ,,2017年12月28日2018年9大技术趋势预测 ,,2017年12月28日谷歌研究院发布NIMA:能评价图像有多美,还能让图像变得更美 ,,2017年12月28日苹果为2019年iPhone开发大容量电池新技术 ,,2017年12月28日谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日C++排序(合并排序)【编程语言】2015年04月13日输入10个学生的姓名、学号和成绩,将其中不及格者输出 【编程语言】2015年08月24日Codeforces509D.RestoringNumbers构造+数学【编程语言】2015年04月03日jQueryUI的下拉框显示不全解决方法 【系统运维】2015年03月11日【SICP练习】128练习3.59 【编程语言】2015年03月30日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日UnknownClass****inInterfaceBuilderfile 【系统运维】2015年08月24日DynamicCRM2013学习笔记(六)备份和恢复 【编程语言】2015年01月04日智能代码建议工具,EclipseCodeRecommenders正式发布 ,,2016年06月23日NW.jsv0.15.3发布,采用Node.js6.2.2?Chromium?51.0.2704.103 ,,2016年06月23日解决金蝶K3BOS万能报表打不开 【综合】2015年04月08日为什么Java程序占用的内存比实际分配给它的要多 2,收藏 ,,2016年06月23日asp.net利用IIS的404错误将文件重写成目录的简单方法2014年01月29日【初等数论】03-同余和剩余系 【综合】2015年04月24日RDIFramework.NET━9.11数据字典管理━Web部分 【数据库】2015年02月11日Android中的meminfo(二):用代码来读取文件信息 【移动开发】2015年01月09日程序员学习编程需要攻克的8个障碍【综合】2015年06月18日黑马程序员——Java高新技术——反射机制 【编程语言】2015年08月05日HBaseshell启动出错org.apache.zookeeper.KeeperException$ConnectionLossException:KeeperErrorCode=Con 【编程语言】2015年05月20日完美世界3D格斗手游【格斗宝贝】今日公测 【移动开发】2015年03月16日Android:Android4.2中,RelativeLayout视图出现了4种新的参数,像layout_alignStart【编程语言】2015年02月09日【Unity基础】让物体朝摄像机观察方向移动(一) 【移动开发】2015年05月25日MergeIntervals--leetcode 【编程语言】2015年03月30日DEDECMS教程:列表页缩略图随机调用2014年01月28日int,long,longlong类型的范围 【编程语言】2015年08月28日简析程序启动原理 【编程语言】2015年07月15日BitmapCache-master图片异步下载缓存【综合】2015年05月18日随手可得的Application对象【移动开发】2015年07月17日PHP文件类型判断代码2014年01月29日RAC下FatalNIconnecterror12170.报错处理 【云计算】2015年06月12日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)