leecode第一百六十九题(求众数)
class Solution {
public:
void quick_sort(vector<int>& nums,int res,int res_end)
{
if(res_end-res<)//错过,不能小于2
return;
int begin=res;
int end=res_end;
bool flag=true; while(res!=res_end)
{
if(flag)
{
if(nums[res]>nums[res_end])
{
int temp=nums[res];
nums[res]=nums[res_end];
nums[res_end]=temp;
res++;
flag=!flag;
}
else
res_end--;
}
else
{
if(nums[res]>nums[res_end])//错过,不小心写成小于了
{
int temp=nums[res];
nums[res]=nums[res_end];
nums[res_end]=temp;
res_end--;
flag=!flag;
}
else
res++;
}
} quick_sort(nums,begin,res);
quick_sort(nums,res+,end); } int majorityElement(vector<int>& nums) {
int len=nums.size();
//int res;
//sort(nums.begin(),nums.end());//解法一:现成API
//quick_sort(nums,0,len-1);//解法二:手写了快排,但是最长的那个时间通不过,这是因为sort()函数里面不是单纯的快排,里面还有堆排序和插入排序等情况
//return nums[len/2]; int count = ;//解法三,网友提供,从第一个数开始count=1,遇到相同的就加1,遇到不同的就减1,减到0就重新换个数开始计数,总能找到最多的那个
int maj = nums[];
for (int i = ; i < len; i++) {
if (maj == nums[i])
count++;
else {
count--;
if (count == ) {
maj = nums[i + ];
}
}
}
return maj; //解法4:哈希表
}
};
分析:
题简单但是思想不简单啊,尤其是网友公认的这个,值的学习。
leecode第一百六十九题(求众数)的更多相关文章
- leecode第一百六十题(相交链表)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...
- leecode第一百五十五题(最小栈)
class MinStack { public: stack<int> cur_stack; stack<int> cur_min;//用来存储最小值的栈 int min_nu ...
- leecode第一百二十二题(买卖股票的最佳时机II)
class Solution { public: int maxProfit(vector<int>& prices) { int len=prices.size(); ) ; , ...
- leecode第一百二十四题(二叉树中的最大路径和)
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...
- 第一百六十九节,jQuery,基础事件
jQuery,基础事件 学习要点: 1.绑定事件 2.简写事件 3.复合事件 JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标 或键盘触发页面中绑定事件的元素即 ...
- 第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能
第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能 Django实现搜索功能 1.在Django配置搜索结果页的路由映 ...
- leecode第一百三十六题(只出现一次的数字)
class Solution { public: int singleNumber(vector<int>& nums) { int len=nums.size(); ; ;i&l ...
- python第一百六十九天,第十九周作业
FIRSTCRM 学员管理开发需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成绩按课程分别统计 3.每个班级至少包含一个或多个讲师 4.一个学员要有状态转化的过程 ,比如未报 ...
- 第二百六十九节,Tornado框架-Session登录判断
Tornado框架-Session登录判断 Session需要结合cookie来实现 Session的理解 1.用户登录系统时,服务器端获取系统当前时间,进行nd5加密,得到加密后的密串 2.将密串作 ...
随机推荐
- Gym 101981K - Kangaroo Puzzle - [玄学][2018-2019 ACM-ICPC Asia Nanjing Regional Contest Problem K]
题目链接:http://codeforces.com/gym/101981/problem/K Your friend has made a computer video game called “K ...
- JAVA可检测异常和非检测异常
Java的可检测异常和非检测异常泾渭分明.可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则. 非检测异常不遵循处理或声明规则.在产生此类异常时,不一定非要采取任何适当 ...
- 5、jeecg 笔记之 minidao 条件判断
1.前言 我们知道 mybatis 中的动态sql语句是基于 OGNL 表达式的. 额外补充一点:mybatis 中的 #{} 和 ${} ,可直接跳过. #{}表示一个占位符号,#{}接收输 ...
- [摘抄] SFM 和 Visual SLAM
来自知乎: SFM和vSLAM基本讨论的是同一问题,不过SFM是vision方向的叫法,而vSLAM是robotics方向的叫法. vSLAM所谓的mapping,vision方向叫structure ...
- 用热情点燃软件工程II
这个作业的要求来自于:https://www.cnblogs.com/greyzeng/p/9581624.html 阅读完文章(热情.能力.选择)深有感触.文章链接为:http://coolshel ...
- openshift 容器云从入门到崩溃之九《容器监控-报警》
容器状态监控 主要是监控POD的状态包括重启.不健康等等这些k8s api 状态本身会报出来,在配合zabbix报警 导入zabbix模板关联上oc master主机 <?xml version ...
- React之ant design的table表格序号连续自增
render(text,record,index){ return( <span>{(pagination.current-1)*10+index+1}</spa ...
- HBase笔记4(调优)
Master/Region Server调优 JVM调优 默认的RegionServer内存是1G,而Memstore默认占40%,即400M,实在是太小了,可以通过HBASE_HEAPSIZE参数修 ...
- Windows下安装MySql5.7(解压版本)
Windows下安装MySql5.7(解压版本) 1. 官方地址下载MySql Server 5.7 2. 解压文件到目录d:\Soft\mysql57下 3. 在上面目录下创建文件my.ini,内容 ...
- ASP.NET MVC案例教程(二)
ASP.NET MVC案例教程(二) 让第一个页面跑起来 现在,我们来实现公告系统中的第一个页面——首页.它非常简单,只包括所有公告分类的列表,并且每个列表项是一个超链接.其中分类数据是用我们的Moc ...