力扣题目解答自我总结(二)
程序员文章站
2022-10-06 07:56:45
力扣题目解答自我总结(二) 一.回文数 1.题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 示例 2: 示例 3: 2.解答 二.宝石和石头 1.题目描述 给定字符串 代表石头中宝石的类型,和字符串 代表你拥有的石头。 中每个字符代表了 ......
力扣题目解答自我总结(二)
一.回文数
1.题目描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
2.解答
class solution(object): def ispalindrome(self, x): """ :type x: int :rtype: bool """ if str(x)[::-1] == str(x)[:]: #用切片工具完成字符串的翻转 return true else: return false
二.宝石和石头
1.题目描述
给定字符串j
代表石头中宝石的类型,和字符串 s
代表你拥有的石头。 s
中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
j
中的字母不重复,j
和 s
中的所有字符都是字母。字母区分大小写,因此"a"
和"a"
是不同类型的石头。
示例 1:
输入: j = "aa", s = "aaabbbb" 输出: 3
示例 2:
输入: j = "z", s = "zz" 输出: 0
注意:
-
s
和j
最多含有50个字母。 -
j
中的字符不重复。
2.解答
class solution: def numjewelsinstones(self, j: str, s: str) -> int: return sum(s.count(i) for i in j) #for 循环的一种写法 #可以吧该函数写成这样 num = 0 for i in j: num_1 = s.count(i) num += num_1 return num
三.旋转图像
1.题目描述
给定一个 n × n 的二维矩阵表示一个图像。
将图像顺时针旋转 90 度。
说明:
你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
示例 1:
给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ]
示例 2:
给定 matrix = [ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, 6, 7], [15,14,12,16] ], 原地旋转输入矩阵,使其变为: [ [15,13, 2, 5], [14, 3, 4, 1], [12, 6, 8, 9], [16, 7,10,11] ]
2.解答
class solution: def rotate(self, matrix: list[list[int]]) -> none: """ do not return anything, modify matrix in-place instead. """ import copy new_list = [] time = 0 conter = 0 matrix.reverse() matrix_1 = copy.copy(matrix) print(matrix) if len(matrix) != 0: for a in range(len(matrix)): matrix[a] = [] while len(matrix) > len(matrix_1[0]): matrix.pop() while len (matrix) < len(matrix_1[0]): matrix.append([]) for b in range(len(matrix_1[0])): for c in range(len(matrix_1)): if time != len(matrix_1): time += 1 matrix[conter].append(matrix_1[c][b]) elif time == len(matrix_1): time = 1 conter += 1 matrix[conter].append(matrix_1[c][b]) #这是我的思路比较low,先水平翻转,再按照子列表的长度,把他变成有拥有子列表长度一样的空的列表,再里面填写值进去,写完了头有点昏,等下次有空再优化下代码
如果你有更加吊炸天的解题方法留言,让我这渣渣学学
上一篇: 浅谈互斥锁为什么还要和条件变量配合使用
下一篇: php中的时间显示