php实现数组重复数字统计实例
2018-09-30 14:26
796 查看
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。
1.哈希法
2.定义备用数组,作为哈希使用,key是原数组每个元素 value是出现的次数
3.遍历哈希数组
hash for i=0i;<arr.length;i++ hash[arr[i]]++; foreach hash as v return v
<?php function duplicate($numbers, &$duplication) { // write code here //这里要特别注意~找到任意重复的一个值并赋值到duplication[0] //函数返回True/False $flag=false; $hash=array(); for($i=0;$i<count($numbers);$i++){ $hash[$numbers[$i]]++;//关键 } foreach($hash as $k=>$v){ if($v>=2){ $flag=true; $duplication[0]=$k; break; } } return $flag; } $arr=[2,1,3,0,4]; $res=duplicate($arr,$duplication); var_dump($res); var_dump($duplication);
以上代码经过测试,希望对你有用,感谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- php实现数组中出现次数超过一半的数字的统计方法
- (PHP实现剑指offer)数组中重复的数字
- PHP实现统计一个数字在排序数组中出现次数的方法
- PHP基于数组实现的分页函数实例
- php中count 多维数组长度统计实现方法
- PHP获取数组中重复最多的元素的实现方法
- PHP获取数组中重复最多的元素的实现方法
- 一个数组arr,长度为N,N小于10^8,里面数字的范围是1~N,是否有重复,并统计出来
- PHP+MySQL实现对一段时间内每天数据统计优化操作实例
- PHP 统计一维数组value相同的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组
- 统计int数组中重复数字的个数
- java实现list清除重复的字符串;arraylist动态数组;角谷定理最终得1,找出10000以内哪个数字的步骤最长
- php 统计一维数组中重复的元素个数
- java 实现二分法查找出数组重复数字
- PHP实现将MySQL重复ID二维数组重组为三维数组的方法
- PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
- php中Array2xml类实现数组转化成XML实例
- 如何正确实现PHP删除数组重复元素
- Linux-C基础知识学习:C语言作业-从键盘输入一行字符,统计其中有多少个字母, 数字,空格(用数组实现,gets)。
- 可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集