代码随想录——Python版学习笔记
April‘s blogs
踩坑合集……
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
移除链表元素
题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回新的头节点 。 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 输入:head = [], val = 1 输出:[] 解题思路: 直接查找 class ListNode(object): def __init__(self, val=0, next=None): self.val = val原创 2022-05-11 17:56:17 · 261 阅读 · 0 评论 -
螺旋矩阵II
题目 给你一个正整数 n ,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 解题思路: 思路:坚持循环不变量原则(区间的开闭性保持不变) 模拟顺时针画矩阵的过程(由外向内): 填充上行从左到右 填充右列从上到下 填充下行从右到左 填充左列从下到上 按照左闭右开原则填充矩阵: class Solution(object): def generateMatrix原创 2022-03-22 16:52:41 · 450 阅读 · 0 评论 -
长度最小的子数组长度
题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 输入:target = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。 解题思路: 思路:确定数组中的start和end,使start到end之间的数加起来和大于target原创 2022-03-22 15:37:51 · 325 阅读 · 0 评论 -
有序数组的平方
题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1,9,16,100] 解题思路 暴力解法,直接求每个元素的平方,然后排序class Solution(object): def sortedSquares(self, nums): """原创 2022-03-18 16:13:57 · 278 阅读 · 0 评论 -
移除数组元素
题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 输入:nums = [3,2,2,3], val = 3 输出:2, nums = [2,2] 解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而原创 2022-03-17 16:55:44 · 337 阅读 · 0 评论 -
二分查找法
题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 输入: nums = [-1,0,3,5,9,12], target = 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1 解题思路 二分法前提条件: a 有序数组原创 2022-03-17 15:54:59 · 387 阅读 · 0 评论
分享