[質問]
1の範囲≤[I]≤N与えた(n = アレイのサイズ)整数配列を、配列番号を他人だけ1回、2回現れます。
全ての数字[1、n]は、アレイ内の範囲との間に表示されていないことが判明。
あなたはこの作業の余分なスペースと時間の複雑さはO(n)の場合では使用しないことができますか?あなたは、アレイは、余分なスペースに戻っていることを前提とすることはできません。
入力: [4,3,2,7,8,2,3,1] 出力: [5,6]
[コード]
クラス解決{ パブリック: ベクトル<整数> findDisappearedNumbers(ベクトル<整数>&NUMS){ (INT iが0 = I ++; I <nums.size())のために NUMS [ABS(NUMS [I]) - 1] = - ABS(NUMS [ABS(NUMS [I]) - 1])。 ベクトル<整数>のres; 以下のために(; I <nums.size(); I ++ {INT iが= 0) 場合(NUMS [I]> 0)res.push_back(I + 1)。 } RESを返します。 } }。