![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
双指针
铭节
这个作者很懒,什么都没留下…
展开
-
594. 最长和谐子序列
和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度。数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。示例 1:输入:nums = [1,3,2,2,5,2,3,7]输出:5解释:最长的和谐子序列是 [3,2,2,2,3]方法一:双指针public int findLHS(int[] nums) {原创 2022-03-29 21:55:46 · 47 阅读 · 0 评论 -
392. 判断子序列
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?致谢:特别感谢 @pbrother 添加此问题并且创建所有测试用例。示例 1:输入:s原创 2022-01-17 19:43:59 · 33 阅读 · 0 评论 -
524.最长子序列
给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。示例 1:输入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"]输出:"apple"方法一:双指针continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其..原创 2022-01-06 21:22:35 · 45 阅读 · 0 评论 -
141.判断链表是否存在环
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1原创 2022-01-06 15:51:39 · 326 阅读 · 0 评论 -
88.归并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1,原创 2022-01-05 23:06:05 · 65 阅读 · 0 评论 -
680.回文字符串
给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: s = "aba"输出: true示例 2:输入: s = "abca"输出: true解释: 你可以删除c字符。方法1:双指针重点是左右删除都要考虑public boolean validPalindrome(String s) { if(s.length()<=2){ return true; } int len=s.lengt原创 2022-01-05 22:23:00 · 211 阅读 · 0 评论 -
633.平方数之和
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例 1:输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 51.从a=0开始找c-a*a是否为整数2.双指针public boolean judgeSquareSum(int c) { double begin=0; double sqrt=Math.ceil(Math.sqrt(c)); while(begin<=sqr.原创 2022-01-05 15:53:42 · 122 阅读 · 0 评论