挑戰五天刷完劍指offer day4 1

2021-10-23 12:18:55 字數 2083 閱讀 1084

數字堆

前幾天確實進度有些慢了,三天刷了30+,一半左右,希望能挑戰成功。

全排列問題,用回溯的方法。在之前知乎的文章中有詳細介紹。方法基本是一模一樣的,這裡就是要去重和字典序排列,那麼用set可以去重和排列。

class

solution

for(

int i=

0;isize()

;i++)}

return;}

vector

permutation

(string str)

};

思路一:先整體翻轉,再確定每個單詞的位置,單個兒翻**

class

solution

return str;}}

;

這道題囉囉嗦嗦半天,我實在是沒讀懂……看了一下題解才明白……關鍵點就是五張牌的max-min<5;因為還有大小王,可以看做任何數,所以若差小於4,且無重複牌,說明摸到了大小王,可以當做順子~

class

solution

}return max1-min1<5;}};

這道題需要考慮溢位的情況:

class

solution

else

if(str[i]

=='+'

)while

(isize()

)else

}return num*flag;}}

;

牛客上的題與之類似,但是有不太一樣,如果出現字母就不再**

class

solution

return res*flag;}}

;

佇列,先進先出,hashmap記錄次數:

class

solution

map[ch]++;

}char()

return

'#';}}

;

1.+、-只能出現在開頭或者e之後

2.e前出現e是錯誤的,且之前之後都必須出現數字

3. .前不能出現.或者e

4.用幾個標記記錄出現與否

class

solution

dot =

true;}

else

if(string[i]

=='e'

|| string[i]

=='e'

) e =

true

;//防止12e這種情況發生

num =

false;}

else

if(string[i]

>=

'0'&& string[i]

<=

'9')

else

if(string[i]

=='+'

|| string[i]

=='-')}

else

}//最後一位一定是數字,並且肯定出現過數字

按位與找到進製位、左移進製、按位異或、遞迴。

class

solution

};

兩個堆:

class

solution

}double

getmedian()

priority_queue<

int,vector<

int>

,greater<

int>> minp;

priority_queue<

int,vector<

int>

,less<

int>> maxp;

};

菜雞挑戰五天刷完劍指offer day1

菜雞,立下乙個小目標,及時更新and總結。乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。注意 一次可以跳n,不是只能跳1 2。可以推出 class solution return dp number 快慢指標,需要注意的是,隨時判斷k是不...

2018 2 10 面試題刷題第五天

問1.請描述一下cookies,sessionstorage和localstorage的區別?答 sessionstorage用於本地儲存乙個會話 session 中的資料,這些資料只有在同乙個會話中的頁面才能訪問並且當會話結束後資料也隨之銷毀。因此sessionstorage不是一種持久化的本地儲...

《劍指offer》刷題打卡第1天

面試題1 二維陣列中的查詢 題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。演算法思想 第一步 選取陣列右上角的數字9,將7與9作比較,9 7,又因為9是第四列中最小的乙個數,...