python练习题
wu wendy
这个作者很懒,什么都没留下…
展开
-
python中return,continue,break的区别
三者都是为了跳出某种“窘境”,使用区别如下:return:直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。break:跳出所在的当前整个循环,到外层代码继续执行。continue:跳出本次循环,从下一个迭代继续运行循环,内层循环执行完毕,外层代码继续运行。例:continue的用法:def func(): for i in range(1,11): ...转载 2019-12-04 23:00:36 · 2074 阅读 · 1 评论 -
167. 两数之和 II - 输入有序数组(LeetCode)
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。可以假设每个输入只对应唯一的答案,而且不可以重复使用相同的元素。问题:一直不太清楚while循环和for循环的本质区别以及分别在什么情况下使用哪种...原创 2019-12-04 22:35:26 · 103 阅读 · 0 评论 -
122. 买卖股票的最佳时机 II(LeetCode)
题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:① 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票);② 同一天可以同时进行买入和卖出。方法一:由于同一天可以同时进行买和卖的操作,所以只要比买的那天价格高就可以卖出。最后将每次交易的利润加起来即可。cla...原创 2019-11-28 19:45:27 · 99 阅读 · 0 评论 -
88. 合并两个有序数组(LeetCode)
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。分析:方法一:首先将两个数组中元素合并在num1中,然后对新得到的数组中元素重新排序。cl...原创 2019-10-31 20:35:31 · 118 阅读 · 0 评论 -
66. 加一(LeetCode)
题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。要求:最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。分析:本题的关键是“进位”,如果最后一个数字加一是小于10 的数字,则只需要将数组的最后一个元素加一即可。关键是面对进位如何处理?例如:99,如何转为100?方法一:通过将数组中的数字转换为具体...原创 2019-10-31 18:50:08 · 107 阅读 · 0 评论 -
53. 最大子序和(Leetcode)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。1、方法一通过数组记录到每个第i个元素为止,和的最大值,最终求数组元素的最大值。class Solution: def maxSubArray(...原创 2019-10-29 23:37:07 · 86 阅读 · 0 评论 -
461. 汉明距离(LeetCode)
题目说明:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。一、 进制转换① 二进制 到 十进制 int('10100111110',2) ② 八进制 到 十进制 int('17',8) ③ 十进制转二进制bin(10)④ 十进制转八进制oct(11)⑤ 十进制转十六进制hex(1033)...原创 2019-10-24 10:44:40 · 128 阅读 · 0 评论 -
617(226). 合并(翻转)二叉树(leetcode)
二叉树不属于python中的基本变量类型,因此首先需要定义二叉树类:# Definition for a binary tree node. class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None定义二叉树节点...原创 2019-10-23 21:16:18 · 111 阅读 · 0 评论 -
283. 移动零(力扣)
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]① 判断数组中的零元素,删除并在末尾添加。非零元素不做处理。代码如下:class Solution: def moveZeroes(self, nums: List[int]) -> None: ...原创 2019-10-15 11:28:11 · 171 阅读 · 1 评论 -
48 旋转矩阵(力扣)
给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度。说明:必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。方法一:通过两个步骤实现:①矩阵转置 ②矩阵中各个行向量转置例:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]]① 通过矩阵转置后转化为:[1,4,7],[2,5,8],[3,6...原创 2019-10-15 11:16:04 · 688 阅读 · 1 评论