2022年5月22日 星期日

[2154] Keep Multiplying Found Values by Two

果然是easy 等級的題目?!但還是沒有辦法一次到位, 同志Q仍需努力XD


int findFinalValue(int* nums, int numsSize, int original){
    int stop = 0,i=0;
    while(!stop)
    {
        for (i=0; i<numsSize; i++)
        {
            if (nums[i]==original)
            {
                original=original*2;
                break;
            }        
        }
        if (i==numsSize)
            stop = 1;
    }
    return original;
}

有看到兩種厲害的寫法, 一是在迴圈裡面找到值之後index 就設回0 讓它continue , 感覺很beautiful !!! XD
另一個是先sorting 好, 接下來只要依次往後找, 並將original 每次乘二就好了, 新的值一定會在已sorting 好的array 後面!看到的人用了bubble sort感覺也很直覺!以上

沒有留言:

張貼留言