题目介绍
给定一组数字数组,只有两个元素只出现一次,其余元素都出现两次。找出只出现一次的两个元素。
题目分析
可以直接复用上一题的代码,用哈希表来做一个值和出现频率的绑定,最终返回频率为 1 的数。
代码实现
/** * @param Integer[] $nums * @return Integer[] */ function singleNumber($nums) { $res=[]; $data=[]; for($i=0;$i<count($nums);$i++){ if(!$data[$nums[$i]]) $data[$nums[$i]]=0; $data[$nums[$i]]++; }```php /** * @param Integer[] $nums * @return Integer[] */ function singleNumber($nums) { $res=[]; $data=[]; for($i=0;$i<count($nums);$i++){ if(!$data[$nums[$i]]) $data[$nums[$i]]=0; $data[$nums[$i]]++; } return array_keys($data,1,false); // foreach($data as $key=>$value){ // if($data[$key]==1) $res[]=$key; // if(count($res)==2) break; // } // return $res; } return array_keys($data,1,false); // foreach($data as $key=>$value){ // if($data[$key]==1) $res[]=$key; // if(count($res)==2) break; // } // return $res; }