第19場雙周賽總結

2022-07-24 06:57:12 字數 1367 閱讀 4236

2020-02-10

給你乙個非負整數num,請你返回將它變成 0 所需要的步數。 如果當前數字是偶數,你需要把它除以 2 ;否則,減去 1 。

class

solution

return

count;

}};

滑動串列埠,每次加上最後乙個減去最前面乙個;

class

solution

if(temp >= sum) count++;

return

count;

}};

給你兩個數hourminutes。請你返回在時鐘上,由給定時間的時針和分針組成的較小角的角度(60 單位制)。

數學題:不過寫得不夠簡潔:

class

solution

else

return

res;

}};

比較簡潔:abs是求整數絕對值,fabs是求double和float的絕對值;

class

solution

};

給你乙個整數陣列 arr ,你一開始在陣列的第乙個元素處(下標為 0)。

每一步,你可以從下標 i 跳到下標:

i + 1 滿足:i + 1 < arr.length

i - 1 滿足:i - 1 >= 0

j 滿足:arr[i] == arr[j] 且 i != j

請你返回到達陣列最後乙個元素的下標處所需的 最少操作次數 。

注意:任何時候你都不能跳到陣列外面。

資料量不能使用o(n^2)的演算法:

t了:每次都找前乙個或者後乙個,然後遍歷一遍整個陣列查詢相同的;

class

solution

if(t+1

< n && vis[t+1]== 0

)

for(int i = 0; i )}}

//cout << endl;

res++;

}return

res;

}};

對map的運用還是不熟悉,雖然想到map了,但是還是想座標與值的map,沒有想到值與多個座標的對應關係,之前沒有遇到過:

class

solution

mp.erase(it);

//如果沒有,當資料有很多重複元素時,會退化成n的平方

} }

res++;

}return

res;

}};

第 44 場雙周賽

easy 這個題目我沒有多想,跟著直覺走的,資料量比較小,那麼可以把一些關鍵資訊先暴力出來。然後直接遍歷統計,因為題目要求1種語言,這是突破口 這個題目我想了很久,一開始直接暴力,發現過不了 超時了,卡在第56個,資料量比較大的時候,超時了。然後仔細想想,這裡可以直接簡化運算,要計算的是中間會不會有...

leetcode第8場雙周賽

這次雙周賽有意外,第二第三題按照提示返回int會報錯,要返回list 第一題給你乙個字串 s,返回只含 單一字母 的子串個數。示例 1 輸入 aaaba 輸出 8 解釋 只含單一字母的子串分別是 aaa aa a b aaa 出現 1 次。aa 出現 2 次。a 出現 4 次。b 出現 1 次。所以...

leetcode第 24 場雙周賽

給你乙個整數陣列nums。你可以選定任意的正數startvalue 作為初始值。你需要從左到右遍歷nums陣列,並將 startvalue 依次累加上nums陣列中的值。請你在確保累加和始終大於等於 1 的前提下,選出乙個最小的正數作為 startvalue 輸入 nums 3,2,3,4,2 輸出...