プログラマー(ポンケンモン)


ポンケンモン


  • は簡単すぎて、簡単なストリームや繰り返し文で解くことができます.
  • 最も重要なのは携帯ケースの種類数
  • です
  • 携帯電話のデーモンのタイプがN/2または
  • を超えているかどうか
    import java.util.Arrays;
    
    class Solution {
            public int solution(int[] nums) {
                int numSize = nums.length;
                int distinctNumsSize = (int) Arrays.stream(nums)
                                        .distinct()
                                        .count();
                if ((numSize / 2) > distinctNumsSize) {
                    return distinctNumsSize;
                }
                return numSize/2;
            }
        } 
  • 最初は、すべての状況の数を探して解決するかどうかを考えていました.しかし、私は考えて、これはそんなに難しい問題ではないことに気づいた.問題の核心はケースの種類数なので、結局ケースの種類はNより多いのでしょうか?程度さえ分かれば、簡単に答えが出る.
  • 上のコードは受信したint配列を用いてストリーム重複除外を行った後、カウント値が見つかれば最終的にphonekemonの種類数となるので、重複除外の配列の大きさがN/2未満であればdistinctNumsizeを返し、そうでなければN/2を返す.
  • 振り返る


    問題を見たら怖がらないで、最初はDFSですべての状況を見つけるかどうか愚かに考えていましたが、しばらく過ごしましたが、結局は簡単な問題でした.