つのニュースのフロントエンドの試験問題は、主にアルゴリズムです.

2770 ワード

題目:数字のセットがあります.1からn(仮にn=10000)まで、中から任意に3つの数を削除しました.順序も乱れています.残りの数字は1つのn-3の配列に入れます.紛失した数字を探し出してください.アルゴリズムが早いです.
タイトルは先端ですが、実際にはアルゴリズムの問題です.次は比較的早いアルゴリズムです.「プログラミング珠玉」で使われていると言われています.
int _tmain(int argc, _TCHAR* argv[])

{

    int aOld[] = {5,1,3,0,9,2,7};  //4,6,8

    int* aNew = new int[11];   //             

    for (int i = 0; i < 7; i++)

    {

        int temp = aOld[i];

        aNew[aOld[i]] = 1;

    }

    

    int* aLost = new int[3];

    int k = 0;

    for(int j = 0; j < 11; j++)

    {

        int iii = aNew[j];

        if(aNew[j] != 1)

        {

            aLost[k] = j;

            k++;

        }

    }

  if(NULL !=
aNew)
  {
    delete aNew;
delete aLost;
aNew = NULL;
aLost = NULL;
  }
) return 0; }