leetcode刷題記錄 767.重構字串
思路
分為兩大部分,第一部分判斷字串是否可以重構,第二部分判斷重構字串
第一部分:找出最大出現次數字母的次數,判斷是否超過(n+1)/2,若超過則返回空字串,若不超過則可以進行重組織
第二部分:先對出現次數小於等於n/2的字母在奇數下標上進行排序,奇數下標滿了之後,再排到偶數下標之上。若果有字母的出現次數等於(n+1)/2,則將它全部排在偶數下標上
**
char
*reorganizestring
(char
* s)
int count[26]
;memset
(count,0,
sizeof
(count));
int maxcount=0;
for(
int i=
0;i)for
(int i=
0;i<
26;i++)if
(maxcount>
(length+1)
/2)return"";
char
* ret=
(char*)
malloc
(sizeof
(char)*
(length+1)
);memset
(ret,0,
sizeof
(char)*
(length));
ret[length]
='\0'
;int oddindex=
1,evenindex=0;
for(
int i=
0;i<
26;i++
)while
(count[i]
>0)
}return ret;
}
2023年11月30日訓練總結
這次訓練總結是11月27日 11月30日。等待的狀壓dp專題終於開了。第一次看資料覺得它挺好玩,然而做題目的時候發現並不好做。特點 給的n,m至少有乙個比較小,或者狀態數比較少但不是特別少。經典的題目有放木塊 排兵布陣等。我見過的有兩種寫法,一種是用dfs來列舉狀態,另一種是直接for迴圈列舉每種狀...
11月30日總結
python 直譯器可以作為乙個簡單的計算器,您可以在直譯器裡輸入乙個表示式,它將輸出表示式的值。表示式的語法很直白 和 和其它語言 如pascal或c 裡一樣。例如 2 24 50 5 620 50 5 6 45.0 8 5 總是返回乙個浮點數1.6 注意 在不同的機器上浮點運算的結果可能會不一樣...
2023年12月30日 當SONiC遇到P4
sonic p4 是sonic中執行的p4虛擬交換機,當前的sonic p4是乙個docker image,可以執行在任意的docker環境中。看看sonic和p4能碰撞出什麼火花。sonic的sai提供了sonic軟體和不同交換晶元之間的統一介面,不同的交換晶元 商提供各自晶元閉源的sai介面實現...