我们之前有两篇文章写了回文串和回文序列相关的问题。 寻找 回文串的核心思想是从中心向两端扩展: 这道题的关键在于,单链表无法倒着遍历,无法使用双指针技巧。那么最简单的办法就是,把原始链表反转存入一条新的链表,然后比较这两条链表是否相同。关于如何反转链表,可以参见前文「递归操作链表」。 其实, 借助二 ...
分类:
其他好文 时间:
2020-02-17 12:20:53
阅读次数:
64
ABC155D 題意 有一个长度为$n$的序列$A$,从序列中任选两个数有$n (n 1)/2$种方式,问两个数的乘积组成的非递减序列中的第$k$个数是多少? 数据范围 $2 \le n \le 2 10^5$ $ 10^9\le A_i\le10^9$ 题解 采用二分答案的方法。 坑点 在于检查二 ...
分类:
其他好文 时间:
2020-02-17 10:39:22
阅读次数:
420
题目 URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。) 示例1: 示例2: 提示: 思路:双指针 同 "【剑指Offer】面试题05.替换空格" 代 ...
分类:
Web程序 时间:
2020-02-15 23:17:29
阅读次数:
109
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [ ...
分类:
其他好文 时间:
2020-02-15 15:01:44
阅读次数:
53
"题目" 题意:求一个数组里最短的连续子序列的和大于等于s的长度 题解:可以用动态规划,我就是用动态规划过的,但是确实不是最简单的解法,看了题解最简单的是双指针, 双指针 DP 二者效率都是差不多的。 ...
分类:
其他好文 时间:
2020-02-14 10:45:28
阅读次数:
54
概述 排序的思想有很多种,其中最基础的三种排序即,选择排序,插入排序,冒泡排序,下面通过数组中的元素排序代码来实现三种排序思想。 选择排序 使用到双指针思想,一个游历指针(用于遍历数组中所有元素, 出指定元素),一个标记指针(用于标记有序数组的末尾),使用到这种思想还可用于 ,`数组去除指定元素`等 ...
分类:
编程语言 时间:
2020-02-13 15:05:38
阅读次数:
61
题目内容 Given a singly linked list, determine if it is a palindrome. Example: 分析过程 题目归类: 链表反转,fast/slow双指针法 题目分析: 这道题归到easy其实是不对的,应该归到medium,因为如果要考虑O(n)时 ...
分类:
其他好文 时间:
2020-02-13 15:00:47
阅读次数:
64
LeetCode 0141. Linked List Cycle环形链表【Easy】【Python】【双指针】 题目 "英文题目地址" Given a linked list, determine if it has a cycle in it. To represent a cycle in th ...
分类:
编程语言 时间:
2020-02-13 12:52:02
阅读次数:
65
相向双指针的第二种题型: Partition array 基本题型:将一个数组根据某个条件分割,比如大于target,奇偶等等 例 lintcode 31. Partition Array https://www.lintcode.com/problem/partition-array/descri ...
分类:
其他好文 时间:
2020-02-13 09:38:05
阅读次数:
52
LeetCode 0088. Merge Sorted Array合并两个有序数组【Easy】【Python】【双指针】 题目 "英文题目链接" Given two sorted integer arrays nums1 and nums2 , merge nums2 into nums1 as o ...
分类:
编程语言 时间:
2020-02-12 23:50:19
阅读次数:
89