• leepcode-题目解析6


    30 找不同

    给定两个字符串 st,它们只包含小写字母。

    字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

    请找出在 t 中被添加的字母。

    示例:

    输入:
    s = "abcd"
    t = "abcde"
    
    输出:
    e
    
    解释:
    'e' 是那个被添加的字母。
    

    解答: 一开始想用集合来的差集来解题,忽略了集合会去重,如果字符串t有两个相同元素,就不能用集合了.就只能用笨办法,转化成列表后,用for循环把元素一个个取出来,在用列表内置方法.remove来一个个删除.

    class Solution(object):
        def findTheDifference(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: str
            """
            
    #         s1=set(t) ^ set(s)
    #         for i in s1:
    #             return i
            
            s_nums = list(s)
            t_nums = list(t)
            for i in s_nums:
                if i in t_nums:
                    t_nums.remove(i)
            return (t_nums[0])
    
    

    31 斐波拉契数

    斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 01 开始,后面的每一项数字都是前面两项数字的和。也就是:

    F(0) = 0,   F(1) = 1
    F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
    

    给定 N,计算 F(N)

    解答:斐波拉契的规律:a,b = b,a+b

    class Solution:
        def fib(self, N: int) -> int:
            if N == 0:
                return 0
            elif N ==1:
                return 1
            elif N ==2:
                return 1
            elif N == 3:
                return 2
            else:
                a = 1
                b = 2
                for i in range(N-3):                
                    a,b = b,a+b
                return b
                    
    

    32 检测大写字母

    给定一个单词,你需要判断单词的大写使用是否正确。

    我们定义,在以下情况时,单词的大写用法是正确的:

    1. 全部字母都是大写,比如"USA"。
    2. 单词中所有字母都不是大写,比如"leetcode"。
    3. 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。

    否则,我们定义这个单词没有正确使用大写字母。

    示例 1:

    输入: "USA"
    输出: True
    

    示例 2:

    输入: "FlaG"
    输出: False
    

    注意: 输入是由大写和小写拉丁字母组成的非空单词。

    解答:利用python3中字符串的内置方法解答即可得出答案

    class Solution:
        def detectCapitalUse(self, word: str) -> bool:
            # if word.upper() == word:
            #     return True
            # elif word.lower() == word:
            #     return True
            # elif word.capitalize() == word:
            #     return True
            # else:
            #     return False
            return word.upper() == word or word.lower() == word or word.capitalize() == word
    
  • 相关阅读:
    iOS OC语言: Block底层实现原理 (转载)
    Objective-C中的Block(闭包) (轉載)
    http://oncenote.com/2015/09/16/Security-2-HTTPS2/ (轉載)
    iOS安全系列之一:HTTPS (轉載)
    Swif基本语法以及与OC比较三
    OC/Swift第三方添加出错解决方法
    Swift基本语法及与OC比较之二
    2015AppStore 上传步骤及常见问题
    使用AJAX日历控件,显示某些日期(CalendarExtender)
    在CheckBox中,仅仅允许选择一项
  • 原文地址:https://www.cnblogs.com/raynduan/p/10940392.html
Copyright © 2020-2023  润新知