zoukankan      html  css  js  c++  java
  • 力扣题目汇总(重复N次元素,反转字符串,斐波那契数)

    重复 N 次的元素

    1.题目描述

    在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。

    返回重复了 N 次的那个元素。

    示例 1:

    输入:[1,2,3,3]
    输出:3
    

    示例 2:

    输入:[2,1,2,5,3,2]
    输出:2
    

    示例 3:

    输入:[5,1,5,2,5,3,5,4]
    输出:5 
    

    提示:

    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[] 的形式给出。

      不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

      你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

      示例 1:

      输入:["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
    
    

    ```有更加好的思路,或者解题方法评论区留言谢谢``

  • 相关阅读:
    linux报错jar包时出现“Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”
    重写ajax方法实现请求session过期时跳转登录页面
    C++学习之NVI
    C++学习之Pimpl
    C++学习之allocator
    C++ 强制类型转换
    C++中的volatile关键字
    C++强大背后
    C++学习之智能指针
    C++学习之异常
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10901180.html
Copyright © 2011-2022 走看看