[]配列媒体442は、Array配列の要素のすべての重複が二回見つかっ表示されて下さい。

1.タイトルサイト

https://leetcode.com/problems/find-all-duplicates-in-an-array/

2.タイトル説明

ここに画像を挿入説明

効果3.被験者

配列要素が2回表示して下さい。

4.問題解決のアイデア

  • イタリアが配列の値である前記要素の範囲理由:1≤[I]≤N(N =サイズアレイ)。だから、私たちは新しい配列要素のインデックスに対応する値の配列となり、一度表示され、値が+1、
  • 新しい配列の最後の要素値を分析する、二つ以上の場合、インデックスは、RETの要素に追加されます

5. ACコード

class Solution {
    public List<Integer> findDuplicates(int[] nums) {
        int[] arr = new int[nums.length + 1];
        for(int i = 0; i < nums.length; i++) {
            arr[nums[i]] ++;
        }
        List<Integer> ret = new ArrayList<Integer>();
        for(int i = 1; i <= nums.length; i++) {
            if(arr[i] > 1)
                ret.add(i);
        }
        return  ret;        
    }
}

6.同様のトピック

。[1] 448アレイトピックサイトに消えたすべての数字を探す:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/問題解決のブログ:HTTPS://blog.csdn .NET / xiaojie_570 /記事/詳細/ 92609678

おすすめ

転載: blog.csdn.net/xiaojie_570/article/details/92611227