社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"
把他弄成列表在一个个值用切片进行反转
return [ i[::-1] for i in s]
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
这题目可以看成一个数学题目,每个值就相当于前面那个值加后面的值,其实就是发现规律没啥技巧
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
给定一个矩阵 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 <= A.length <= 1000
1 <= A[0].length <= 1000
首先数列的他一个竖着的列表的数量取决于他每个子序列的长度,所有我们用这个生成一个空的列表且列表子列表数量和竖着的列表相同,然后用FOR把内容按竖着加进去。
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
有更加好的思路,或者解题方法评论区留言谢谢
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!