• 力扣题目17-22-709,832,521,788,520,35,125,58


    实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。

     

    示例 1:

    输入: "Hello"
    输出: "hello"

    示例 2:

    输入: "here"
    输出: "here"

    示例 3:

    输入: "LOVELY"
    输出: "lovely"

     

    class Solution:
       def toLowerCase(self, str: str) -> str:
           str = str.lower()
           return str

     

     

    给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。

    水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]

    反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]

    示例 1:

    输入: [[1,1,0],[1,0,1],[0,0,0]]
    输出: [[1,0,0],[0,1,0],[1,1,1]]
    解释: 首先翻转每一行: [[0,1,1],[1,0,1],[0,0,0]];
        然后反转图片: [[1,0,0],[0,1,0],[1,1,1]]

    示例 2:

    输入: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
    输出: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
    解释: 首先翻转每一行: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]];
        然后反转图片: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

    说明:

    • 1 <= A.length = A[0].length <= 20

    • 0 <= A[i][j] <= 1

     

     

    class Solution:
       def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
           return[[x^1 for x in i[::-1]]for i in A]

    给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。

    子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。

    输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。

    示例 :

    输入: "aba", "cdc"
    输出: 3
    解析: 最长特殊序列可为 "aba" (或 "cdc")

    说明:

    1. 两个字符串长度均小于100。

    2. 字符串中的字符仅含有 'a'~'z'。

    class Solution:
       def findLUSlength(self, a: str, b: str) -> int:
           if a == b:
               return -1
           else:
               return max(len(a),len(b))

    我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。

    如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方;6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。

    现在我们有一个正整数 N, 计算从 1N 中有多少个数 X 是好数?

    示例:
    输入: 10
    输出: 4
    解释:
    在[1, 10]中有四个好数: 2, 5, 6, 9。
    注意 1 和 10 不是好数, 因为他们在旋转之后不变。

    注意:

    • N 的取值范围是 [1, 10000]

    class Solution:
       def rotatedDigits(self, N: int) -> int:
           lis = ['3','4','7']
           lis_1 = ['2','5','6','9']
           count = 0
           for i in range(1,N+1):
               flag = False# 为何flag放在for循环之外的时候 最后输出为5(以10为例)?
               for s in str(i):
                   if s in lis:
                       flag = False
                       break
                   elif s in lis_1:
                       flag = True
               if flag:
                   count +=1
           return count
                   

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

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

    1. 全部字母都是大写,比如"USA"。

    2. 单词中所有字母都不是大写,比如"leetcode"。

    3. 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。

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

    示例 1:

    输入: "USA"
    输出: True

    示例 2:

    输入: "FlaG"
    输出: False

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

     

    class Solution:
       def detectCapitalUse(self, word: str) -> bool:
           return word.capitalize()==word or word.upper()==word or word.lower()==word
           

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

    你可以假设数组中无重复元素。

    示例 1:

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

    示例 2:

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

    示例 3:

    输入: [1,3,5,6], 7
    输出: 4

    示例 4:

    输入: [1,3,5,6], 0
    输出: 0
    class Solution:
       def searchInsert(self, nums: List[int], target: int) -> int:
           for i in range(len(nums)):
               if i == 0 and target <= nums[i]:
                   return 0
               else:
                   if i == len(nums)-1:
                       return i+1
                   else:
                       if nums[i] ==target:
                           return i
                       else:
                           if nums[i]<target and nums[i+1] >=target:
                               return i+1
                           

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: "A man, a plan, a canal: Panama"
    输出: true

    示例 2:

    输入: "race a car"
    输出: false
    class Solution:
       def isPalindrome(self, s: str) -> bool:
           s = ''.join(filter(str.isalnum,s)).lower()
           return s==s[::-1]

     

     

     

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

    如果不存在最后一个单词,请返回 0 。

    说明:一个单词是指由字母组成,但不包含任何空格的字符串。

    示例:

    输入: "Hello World"
    输出: 5
    class Solution:
       def lengthOfLastWord(self, s: str) -> int:
           s = s.strip()
           if s == '':
               return 0
           else:
               return len(s.split(' ')[-1])

     

  • 相关阅读:
    (64)通信协议之一xml
    (63)通信协议之一json
    (61)C语言预处理命令详解
    (60) 结构体指针、结构体变量嵌套、结构体指针嵌套、函数指针、数组指针、指针数组、typedef 综合运用
    (59)Linux操作系统深入应用
    (58)PHP开发
    (57)Linux驱动开发之三Linux字符设备驱动
    (56)Linux驱动开发之二
    (55)Linux驱动开发之一驱动概述
    (54)LINUX应用编程和网络编程之九Linux网络通信实践
  • 原文地址:https://www.cnblogs.com/zrx19960128/p/10897330.html
Copyright © 2020-2023  润新知