zoukankan      html  css  js  c++  java
  • 力扣题目汇总(反转字符串中的单词,EXCEL表列序号,旋置矩阵)

    反转字符串中的单词 III

    1.题目描述

    1. 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

      示例 1:

      输入: "Let's take LeetCode contest"
      输出: "s'teL ekat edoCteeL tsetnoc" 
      

    2.解题思路

    把他弄成列表在一个个值用切片进行反转
    

    3.解题

      return [ i[::-1] for i in s]
    

    Excel表列序号

    1.题目描述

    1. 给定一个Excel表格中的列名称,返回其相应的列序号。

      例如,

       A -> 1
          B -> 2
       C -> 3
          ...
       Z -> 26
          AA -> 27
          AB -> 28 
          ...
      

      示例 1:

      输入: "A"
      输出: 1
      

      示例 2:

      输入: "AB"
      输出: 28
      

      示例 3:

      输入: "ZY"
      输出: 701
      

    2.解题思路

    这题目可以看成一个数学题目,每个值就相当于前面那个值加后面的值,其实就是发现规律没啥技巧
    

    3.解题

    class Solution:
        def titleToNumber(self, s: str) -> int:
            count = len(s)
            num = 0
            words = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
            words = ','.join(words)
            words_list = words.split(',')
            print(words_list)
            if len(s) < 2:
                return words_list.index(s)+1
            else:
                for nums in s :
                    count -= 1
                    num += (26**count*(words_list.index(nums) + 1))
            return num
    
    

    转置矩阵

    1.题目描述

    • 给定一个矩阵 A, 返回 A 的转置矩阵。

      矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

      示例 1:

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

      示例 2:

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

      提示:

      1. 1 <= A.length <= 1000
      2. 1 <= A[0].length <= 1000

    2.解题思路

    首先数列的他一个竖着的列表的数量取决于他每个子序列的长度,所有我们用这个生成一个空的列表且列表子列表数量和竖着的列表相同,然后用FOR把内容按竖着加进去。
    

    3.解题

    class Solution:
        def transpose(self, A: List[List[int]]) -> List[List[int]]:
                new_a = []
                nums = 0
                for a in range(len(A[0])):
                    new_a.append([])
                for b in range(len(A[0])):
                    for c in range(len(A)):
                        new_a[nums].append(A[c][b])
                        if len(new_a[nums]) == len(A):
                            nums += 1
                return new_a
    
    

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

  • 相关阅读:
    APP的LOGO设计需求
    App 中使用 Iconfont 的整套方案
    UI流程总结
    sketch制作LOGO(一)---环形光晕
    Sketch插件--Rename It
    Sketch Measure使用教程
    04 流程控制
    03 python语法注释、用户交互、格式化输出、基本数据类型、运算符
    02编程语言及python初识
    第一课
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10901199.html
Copyright © 2011-2022 走看看