在大小爲 2N
的數組 A
中有 N+1
個不一樣的元素,其中有一個元素重複了 N
次。python
返回重複了 N
次的那個元素。數組
示例 1:函數
輸入:[1,2,3,3] 輸出:3
示例 2:code
輸入:[2,1,2,5,3,2] 輸出:2
示例 3:ci
輸入:[5,1,5,2,5,3,5,4] 輸出:5
提示:element
4 <= A.length <= 10000
0 <= A[i] < 10000
A.length
爲偶數跟着題目思路走,我是超時了下面是個人代碼
class Solution: def repeatedNTimes(self, A: List[int]) -> int: A_1 = set(A) A_1 = list(A_1) for a in A_1: if A.count(a) == len(A)/2: return a break
編寫一個函數,其做用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[]
的形式給出。leetcode
不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。字符串
你能夠假設數組中的全部字符都是 ASCII 碼錶中的可打印字符。get
示例 1:string
輸入:["h","e","l","l","o"] 輸出:["o","l","l","e","h"]
示例 2:
輸入:["H","a","n","n","a","h"] 輸出:["h","a","n","n","a","H"]
思路,直接看例子,就是頭尾按順序對調
class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ st_num = 0 e_num = len(s)-1 while e_num >st_num: s[st_num],s[e_num] = s[e_num],s[st_num] st_num += 1 e_num -= 1
斐波那契數,一般用 F(n)
表示,造成的序列稱爲斐波那契數列。該數列由 0
和 1
開始,後面的每一項數字都是前面兩項數字的和。也就是:
F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
給定 N
,計算 F(N)
。
示例 1:
輸入:2 輸出:1 解釋:F(2) = F(1) + F(0) = 1 + 0 = 1.
示例 2:
輸入:3 輸出:2 解釋:F(3) = F(2) + F(1) = 1 + 1 = 2.
示例 3:
輸入:4 輸出:3 解釋:F(4) = F(3) + F(2) = 2 + 1 = 3.
提示:
N
≤ 30看式列就好了,找規律
class Solution: def fib(self, N: int) -> int: i=0 j=1 while N: #0是空會中止布爾值是False N-=1 i,j=j,j+i return i
有更加好的思路,或者解題方法評論區留言謝謝