题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 思路 一 二 数组中出现次数超过一半,所以该数字出现的次数超过数组长度的一半,也就是它出现的次数比其他 ...
分类:
其他好文 时间:
2019-01-06 00:00:47
阅读次数:
204
设计思想: 遍历一遍ID列表,进行两两比较 如两个ID不同就都删掉 如果相同,出现这个ID的次数加一 水王的帖子超过一半,遍历到最后剩下的只有水王的ID 实现数据 :{ 1,2,3,4,5,6,7,8,9,8,8,5} 截图: 代码实现: #include<iostream>using namesp ...
分类:
其他好文 时间:
2018-12-13 01:25:34
阅读次数:
219
寻找水王的思想是: 假设所有的ID不同且都是数字。因为水王的ID超过一半,遍历所有ID,只要是不同的ID就无视,那么最后剩下来的ID就是水王了。 #include<iostream.h>#include "stdlib.h"int main(){ int length; int idnum=0; c ...
分类:
其他好文 时间:
2018-12-12 23:52:22
阅读次数:
206
传送门 给一个数列,每次询问一个区间内有没有一个数出现次数超过一半 区间的一半就是(r-l+1)/2 对于主席树中的两棵树L,R中的同一个节点[l,r] 如果sum的差值大于k 说明在原序列下标L`R的区间中出现了多于k个权值处于[l,r]的数字 所以按照这个套路二分就行 然后这题bzoj有双倍经验 ...
分类:
其他好文 时间:
2018-12-11 13:48:44
阅读次数:
181
思路:根据老师上课提示的“消消乐”方法,因为水王的发帖子的数量超过一半,所以两个不同的帖子消去,最后剩下的肯定就是水王的id ...
分类:
其他好文 时间:
2018-12-10 23:29:58
阅读次数:
230
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路: 解法一: Hash表存储 class Solution { publi ...
分类:
编程语言 时间:
2018-12-10 20:59:44
阅读次数:
184
设计思想: 遍历一遍ID列表,进行两两比较 如两个ID不同就都删掉 如果相同,出现这个ID的次数加一 水王的帖子超过一半,遍历到最后剩下的只有水王的ID 实现数据 :{ 8,9,8,7,8,1,2,5,4,8,8,5} 截图: 代码实现: #include<iostream>using namesp ...
分类:
其他好文 时间:
2018-12-10 15:51:03
阅读次数:
142
题解: 题意: 输入n个DNA序列,你的任务是求出一个长度最大的字符串,使得它在超过一半的DNA序列中出现。如果有多解,按照字典序从小到大输入所有解。 把n个DNA序列拼在一起,中间用没有出现过的字符分割。然后求出height数组。 二分满足要求的字符串长度L,然后判断是否可行。 判断可行: 分组方 ...
分类:
编程语言 时间:
2018-11-28 23:39:06
阅读次数:
327
题意:有n堆石子,分别有a[i]个。两个游戏者轮流操作,每次可以选一堆,拿走至少一个石子,但不能拿走超过一半的石子。 谁不能拿石子就算输,问先手胜负情况 n<=100,1<=a[i]<=2e18 思路:打表找SG函数的规律 当n为偶数时,SG(n)=n/2 当n为奇数时,SG(n)=SG(n/2) ...
分类:
其他好文 时间:
2018-11-13 16:13:28
阅读次数:
155
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半, ...
分类:
编程语言 时间:
2018-11-10 14:59:05
阅读次数:
145