随笔分类 - 算法
摘要:125. 验证回文串 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。 示例 1: 输入: s = "A
阅读全文
摘要:274. H 指数 题目 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至
阅读全文
摘要:45. 跳跃游戏 II 题目保证可以到达 n - 1 解法 public int jump(int[] nums) { if (nums == null || nums.length <= 0) return 0; int max = 0, end = 0, step = 0; for (int i
阅读全文
摘要:55. 跳跃游戏 解法: 贪心算法 记录当前位置可以走的最远位置,若能达到最后位置,即可到达 public boolean canJump(int[] nums) { if (nums == null || nums.length <= 1) return true; int n = nums.le
阅读全文
摘要:122. 买卖股票的最佳时机 II 题目 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。然而,你可以在 同一天 多次买卖该股票,但要确保你持有的股票不超过一股。 返回
阅读全文
摘要:121. 买卖股票的最佳时机 题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润
阅读全文
摘要:实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。
如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。
必须 原地 修改,只允许使用额外常数空间。
阅读全文
摘要:[LeetCode]26.删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
阅读全文
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。
阅读全文
摘要:LeetCode 15.三数之和
数组操作, 双指针使用
阅读全文
摘要:【LeetCode】11. 盛最多水的容器,给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
阅读全文
摘要:【LeetCode】7. 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
阅读全文
摘要:【LeetCode】6. Z 字形变换
阅读全文
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
阅读全文
摘要:【LeetCode】4. 寻找两个有序数组的中位数
阅读全文
摘要:LeetCode
3. 无重复字符的最长子串
阅读全文
摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
阅读全文
浙公网安备 33010602011771号