leetcode第 24 場雙周賽

2021-10-05 05:23:47 字數 2871 閱讀 2434

給你乙個整數陣列nums。你可以選定任意的正數startvalue 作為初始值。

你需要從左到右遍歷nums陣列,並將 startvalue 依次累加上nums陣列中的值。

請你在確保累加和始終大於等於 1 的前提下,選出乙個最小的正數作為 startvalue 。

輸入:nums = [-3,2,-3,4,2]

輸出:5

解釋:如果你選擇 startvalue = 4,在第三次累加時,和小於 1 。

累加求和

startvalue = 4 | startvalue = 5 | nums

(4 -3 ) = 1 | (5 -3 ) = 2 | -3

(1 +2 ) = 3 | (2 +2 ) = 4 | 2

(3 -3 ) = 0 | (4 -3 ) = 1 | -3

(0 +4 ) = 4 | (1 +4 ) = 5 | 4

(4 +2 ) = 6 | (5 +2 ) = 7 | 2

題目比較簡單,遍歷一下即可。

class solution 

return res;

}}

給你數字k,請你返回和為k的斐波那契數字的最少數目,其中,每個斐波那契數字都可以被使用多次。

斐波那契數字定義為:

資料保證對於給定的k,一定能找到可行解。

1 <= k <= 10^9

輸入:k = 7

輸出:2

解釋:斐波那契數字為:1,1,2,3,5,8,13,……

對於 k = 7 ,我們可以得到 2 + 5 = 7 。

思路:因為k <= 10^9,而斐波那契數列基本是以指數增長的,所以提前計算出前一百個斐波那契數(實際上一百個也多了,但沒有細算最少需要多少個了),然後用貪心,找出小於k的最大斐波那契數,減去這個數,然後用差再進行一輪相同的運算,直到結束。

class solution 

}int res = 0;

while (k > 0)

}return res;

}}

乙個 「開心字串」定義為:

比方說,字串"abc""ac","b""abcbabcbcb"都是開心字串,但是"aa""baa""ababbc"都不是開心字串。

給你兩個整數nk,你需要將長度為n的所有開心字串按字典序排序。

請你返回排序後的第 k 個開心字串,如果長度為n的開心字串少於k個,那麼請你返回空字串

輸入:n = 1, k = 3

輸出:"c"

解釋:列表 ["a", "b", "c"] 包含了所有長度為 1 的開心字串。按照字典序排序後第三個字串為 "c" 。

思路:dfs深搜,暴力回溯即可。

class solution ;

if (n == 1)

string res = dfs("a",n,k);

if (res == "")

if (res == "")

return res;

}string dfs(string s,int n,int k)

else

}return "";}}

}

某個程式本來應該輸出乙個整數陣列。但是這個程式忘記輸出空格了以致輸出了乙個數字字串,我們所知道的資訊只有:陣列中所有整數都在[1, k]之間,且陣列中的數字都沒有前導 0 。

給你字串s和整數k。可能會有多種不同的陣列恢復結果。

按照上述程式,請你返回所有可能輸出字串s的陣列方案數。

由於陣列方案數可能會很大,請你返回它對10^9 + 7取餘後的結果。

輸入:s = "1000", k = 10000

輸出:1

解釋:唯一一種可能的陣列方案是 [1000]

輸入:s = "1000", k = 10

輸出:0

解釋:不存在任何陣列方案滿足所有整數都 >= 1 且 <= 10 同時輸出結果為 s 。

思路:這種給乙個整數陣列的一般都可以往dp上去想,dp[i]代表s長度為i的子串的陣列恢復方案數,dp[i] = sum(dp[j),其中j= 0 && j >= i - 16; --j)//超過16就越界了}}

return dp[len];}}

leetcode第8場雙周賽

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

leetcode 第27場雙周賽

通過翻轉子陣列使兩個陣列相等 檢查乙個字串是否包含所有長度為k的二進位制子串 課程安排 摘櫻桃 3分 簡單 4分 中等 5分 中等 6分 困難 翻譯下題意,其實就是問我們兩個陣列是否相等,判斷陣列是否相等有很多方法,這邊我直接排序,遍歷一遍看是否有不一樣的元素 陣列排序的複雜度,故為o nlogn ...

Leetcode 第30場雙周賽

第一眼看到這題就覺得用python做會很簡單,但是我的python實在是不太行,所以就拿c 硬懟了。c class solution string ms 12 string res int len s.size res res s len 4 s len 3 s len 2 s len 1 stri...