2023年11月30日leetcode每日一題

2021-10-11 00:22:34 字數 994 閱讀 8673

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介面實現...