找出数组中的一个元素出现次数大于数组长度的一半的元素,若不存在返回0
2017-08-15 16:59
375 查看
关于思路:
在解决这个问题的时候,如果一个元素出现次数大于数组长度的一半,那么该元素出现的次数比其它所有数字出现的次数还要多,若数组中的第二个数和第一个数一样,我们可以选择来遍历数组,记下数和出现的次数; 遍历到下一个数的时候,如果与前一个数一样,则给次数+,,否则-,当次数为0 的时候,我们就要保存下一个数,并把次数置1 。因为所要找的元素比其它所有数字出现的次数多,所以要找的数字是最后一次把次数置为1的数字。
关于代码:
运行结果:
在解决这个问题的时候,如果一个元素出现次数大于数组长度的一半,那么该元素出现的次数比其它所有数字出现的次数还要多,若数组中的第二个数和第一个数一样,我们可以选择来遍历数组,记下数和出现的次数; 遍历到下一个数的时候,如果与前一个数一样,则给次数+,,否则-,当次数为0 的时候,我们就要保存下一个数,并把次数置1 。因为所要找的元素比其它所有数字出现的次数多,所以要找的数字是最后一次把次数置为1的数字。
关于代码:
运行结果:
相关文章推荐
- 数组中至多有一个出现次数大于数组长度一半元素,找出这个元素
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
- 在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素。
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 消除原理____假设数组中有一个数字出现的次数超过了数组长度的一半,试编程找出这个数字(qosrt 快速排序 哈希)
- 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数
- 假设数组中有一个数字出现的次数超过了数组长度的一半,试编程找出这个数字(消除 qosrt 快速排序 哈希)
- 找出数组中出现次数超过数组长度一半的元素—-腾讯
- 求数组中出现次数大于数组长度一半的元素
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字
- 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数
- 找到给定数组中出现次数大于长度一半的数字,若没有,则返回0
- 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字
- 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数
- 【c语言】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字
- 数组中有一个数字出现的次数超过了数组长度的一半,请找出这个数。java实现