保持手速 N日N題0

2021-09-26 09:04:32 字數 1080 閱讀 9392

為什麼是n日n題而不是每日一題?hahhahah,博主要開始考研複習了,這段時間在**上投入的時間會也必須得減少了。但是,本來水平就不高加上時間長不練手肯定越來越生。因此後面有閒暇時會練練letcode的題,並每隔不固定的一段時間進行一次總結整理。

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

給出的**段是:

class solution 

};

這是一道簡單題,四個字總結「遍歷陣列」。

class solution ;

int i = 0;

int count = 0;

int end = 0;

bool flag = true;

if(x>2147483648||x<-2147483647)

if(x<0)

while(x!=0)

i = 0;

while(count!=0)

if(!flag)

return end;

}

int reverse(int x)

{ int max = 0x7fffffff, min = 0x80000000;//int的最大值最小值

long rs = 0;//用long型別判斷溢位

for(;x;rs = rs*10+x%10,x/=10);//逆序,正負通吃,不用單獨考慮負值

return rs>max||rs此答案整體思路為邊計算每一位邊恢復逆序整數,缺點在於進行一步運算都需要判斷是否溢位(精簡了**但是增加了執行耗時)。但是,剛看到此答案時的確驚豔到了博主。正真的表現出了c語言的簡潔美。

博主感覺做一道程式設計題時,寫出能通過全部測試用例的**只是第一步,在此之後自己將自己的答案做到最優,然後瀏覽網上大佬們的解法,棄其糟粕,取其精華。再將其和自己的**結合找出最優解。

最後,博主水平有限,行文及**中不免出現問題,請各位雅正!

二分查詢 53題 0 n 1中缺失的數字

乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例1 輸入 0,1,3 輸出 2 示例2 輸入 0,1,2,3,4,5,6,7,9 輸出 8 限制 1 陣列長度 10000clas...

劍指offer53題 0 n 1中缺失的數字

乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例 1 輸入 0,1,3 輸出 2 示例 2 輸入 0,1,2,3,4,5,6,7,9 輸出 8 1.從0判斷到陣列最後一位,如果下...

每日一題21 從0列印到具有n位整數的最大數

該題目的難點在於n可能很大,超過了整數表示的範圍,所以一般有兩種思路,一種是用字串表示整數,並實現 操作符,另一種是把該題目當做排列組合來做,使用遞迴可以實現,下面給出使用遞迴實現的 void print char digit array,int index,int n return 這是為了在列印...