Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 1.55 KB

260.md

File metadata and controls

50 lines (39 loc) · 1.55 KB

✏️Leetcode之PHP版题目解析(260. Single Number III)

2020-02-29 吴亲库里 库里的深夜食堂


✏️描述

给定一组数字数组,只有两个元素只出现一次,其余元素都出现两次。找出只出现一次的两个元素。


✏️题目实例

****

✏️题目分析

可以直接复用上一题的代码,用哈希表来做一个值和出现频率的绑定,最终返回频率为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]]++;
        }
        return  array_keys($data,1,false);
        //或者遍历
        // foreach($data as  $key=>$value){
        //     if($data[$key]==1) $res[]=$key;
        //     if(count($res)==2) break;
        // }

      //  return $res;
    }

上述代码时间复杂度O(n),空间复杂度O(n),时间复杂度不能再进行优化了,空间复杂度可以优化为O(1),可以利用异或运算,留给你们实现。

联系