力扣題目彙總(重複N次元素,反轉字符串,斐波那契數)

重複 N 次的元素

1.題目描述

在大小爲 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

  1. 4 <= A.length <= 10000
  2. 0 <= A[i] < 10000
  3. A.length 爲偶數

2.解題思路

跟着題目思路走,我是超時了下面是個人代碼

3.解題

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

反轉字符串

1.題目描述

  1. 編寫一個函數,其做用是將輸入的字符串反轉過來。輸入字符串以字符數組 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"]

2.解題思路

思路,直接看例子,就是頭尾按順序對調

3.解題

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

斐波那契數

1.題目描述

斐波那契數,一般用 F(n) 表示,造成的序列稱爲斐波那契數列。該數列由 01 開始,後面的每一項數字都是前面兩項數字的和。也就是:

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.

提示:

  • 0 ≤ N ≤ 30

2.解題思路

看式列就好了,找規律

3.解題

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

`有更加好的思路,或者解題方法評論區留言謝謝

相關文章
相關標籤/搜索