Codewars刷題筆記(1)

2021-10-02 19:23:11 字數 1133 閱讀 5308

描述:

取2個字串s1,s2僅包含從a到的字母z。返回乙個新的排序字串,最長的字串,包含不同的字母,

每個僅取一次-來自s1或s2。

例子:a = 「xyaabbbccccdefww」

b = 「***xyyyyabklmopq」

longest(a, b) -> 「abcdefklmopqwxy」

a = 「abcdefghijklmnopqrstuvwxyz」

longest(a, a) -> 「abcdefghijklmnopqrstuvwxyz」

我的解答:

def longest(s1, s2):

# your code

s3=s4=s1+s2

for i in range(len(s4)):

if s4[i] not in s3:

) else:

s3=s3

return

''.join(sorted(s3))

大佬的解答:

def longest(a1, a2):

return

"".join(sorted(set(a1 + a2))

)

完成findnextsquare方法,該方法查詢作為引數傳遞的整數後的下乙個整數理想正方形。回想一下,整數完美平方是整數n,因此sqrt(n)也是整數。

如果引數本身不是理想的正方形,則應返回-1。您可以假設引數為正。

例子:findnextsquare(121) --> returns 144

findnextsquare(625) --> returns 676

findnextsquare(114) --> returns -1 since 114 is not a perfect

我的解答:

def find_next_square(sq):

import math

n=int(math.sqrt(sq))

if n**2 != sq :

return -1

else:

return

(math.sqrt(sq) + 1)** 2

刷題筆記(1)

較為典型的有求最短步數,最少次數,最短時間等等。洛谷 p1135 2895 void bfs para1,if 滿足入隊條件 常見的有回溯法,染色法,以及遍歷。以回溯法為例。染色的時候就不用取消標記了。常見的 求連通塊數量,求小島面積,求路徑數量等。void dfs para1,vis 1 標記 f...

LeeCode刷題筆記 1

1.twosum 從今天開始好好刷題吧 此題用雜湊表即可求解,依題意不必在雜湊表建好之後進行尋找,而是在建表的同時進行尋找 這裡使用了乙個庫 注意即使題目說明了一定會有解,但是函式中還是要在無解的情況下返回乙個值 我的測試 如下 include include includeusing namesp...

LeetCode刷題筆記1

for迴圈新用法,題目217 2.map和unordered map 有序和無序的區別,無序更快,題目 217 而c 標準庫的hashmap其實叫作std unordered map,其增加和查詢的時間複雜度才是 o 1 o 1 o 1 它提供了類似map的方法。在c 11下直接使用標頭檔案 inc...