169MajorityElement
2016-06-03 17:04
225 查看
题目: 找到数组中元素出现次数过半的元素,已知条件:数组非空,必定存在符合条件的元素
思路: 数组排序,扫描的过程中计数并发现目标元素
思路: 数组排序,扫描的过程中计数并发现目标元素
public class Solution { //prerequisition: non-empty and majority exits public int majorityElement(int[] nums) { if(nums.length == 1) return nums[0]; Arrays.sort(nums); //O(log(n)) int num = 1; int majorty = nums.length/2 + 1; int i; for(i = 1; i < nums.length; i++){ if(nums[i] == nums[i-1]) num++; else num = 1; if(num >= majorty) break;//obsolutely } return nums[i]; } }
相关文章推荐
- 从头到尾彻底理解傅里叶变换算法、下
- 响应式布局layout
- 使用TextInputLayout分分钟构造一个酷炫登录框架
- 揭开Spring事务处理
- union 和 struct 的区别与联系
- 71. Simplify Path
- 第十五周项目1:阅读程序,领会STL用法(3)
- UVA1637Double Patience(概率 + 记忆化搜索)
- iOS设置圆角的几种方式
- mybatis 中 foreach collection的三种用法
- Servlet建立一个图片验证码程序
- mingw 编译 boost出错解决办法
- 从头到尾彻底理解傅里叶变换算法(上)
- XlLineStyle 枚举 (Excel)
- Android Studio 使用中的相关“Bug”记录
- c#泛型结合Linq实现从数据源中截取指定位置,行数的数据
- hdu 1021 Fibonacci Again 找规律
- 成员变量作为成员函数的默认参数
- 21、Dom元素的灵活查找--通过className条件筛选
- 字符串转化为Date兼容性问题