随笔分类 -  LeetCode习题300道

摘要:1.题目 2.解法一 2.1.思路分析 该题属于模拟过程题,所求的未知量一个是平方,一个是逆时针旋转。关键在于逆时针旋转,每一个矩阵可以看成一圈一圈的数字组成,因此解决了最外层的一圈,基本上解决了问题。 要想解决最外层的一圈,循环是关键,要想准确无误地进行循环,确定循环不变量就是解决办法,无论选择左 阅读全文
posted @ 2021-12-21 22:19 曼路的个人博客 阅读(39) 评论(0) 推荐(0)
摘要:1.题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串 阅读全文
posted @ 2021-12-20 22:17 曼路的个人博客 阅读(37) 评论(0) 推荐(0)
摘要:1.题目 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果: 你只有 两个 篮子,并且每个篮子只能装 单一类型 阅读全文
posted @ 2021-12-20 20:04 曼路的个人博客 阅读(55) 评论(0) 推荐(0)
摘要:1.题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0 阅读全文
posted @ 2021-12-13 20:28 曼路的个人博客 阅读(52) 评论(0) 推荐(0)
摘要:1.题目 2.解法一:重构字符串法 2.1.思路分析 普通的字符串比较就是一个字符一个字符相比较,但是这个题目中的字符串特殊之处在于,最终真正要比较的字符串和给出的字符串是不一样的,因此我们想到将那些不用比较的字符删除,得到最终的字符串再比较。 2.2.算法描述 算法很简单,分为下面的两步: 首先建 阅读全文
posted @ 2021-12-04 22:45 曼路的个人博客 阅读(44) 评论(0) 推荐(0)
摘要:1.题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 2.解法一:双指针法 2.1.思路分析 当看到题 阅读全文
posted @ 2021-12-03 20:58 曼路的个人博客 阅读(59) 评论(0) 推荐(0)
摘要:1.题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 输入:nums 阅读全文
posted @ 2021-12-02 22:20 曼路的个人博客 阅读(32) 评论(0) 推荐(0)