
指针
Huglight
这个作者很懒,什么都没留下…
展开
-
NowCoder 调整数组顺序使奇数位于偶数前面 指针
题意:给一个数组,要求使数组中奇数位于偶数前面且奇数与奇数,偶数与偶数之间相对位置不变思路:可以用额外空间的话很简单,开一个数组存奇数或者偶数即可;要求原地更改的话可以用指针,一个存偶数开始位置,另一个存偶数结束位置,每遇到一个偶数向后遍历直到遇到奇数,再把这个奇数放到开头,其余偶数元素向右移1位,复杂度O(n²)public class Solution { public void ...原创 2020-01-24 11:58:14 · 139 阅读 · 0 评论 -
LeetCode 18.四数之和 暴力 指针
题意:给出一个序列和一个target值,求出序列中4个数加起来等于target的所有这样的四元组思路:和三数和一样用暴力指针枚举,只是多了一层循环,在第二层循环里用双指针使四数和最接近target即可class Solution { public List<List<Integer>> fourSum(int[] nums, int target) { ...原创 2019-12-26 11:08:28 · 128 阅读 · 0 评论 -
XDU暑训2019 Day8 POJ 2566 尺取法
题意:给一个序列k次询问,每次询问给一个数t,求序列所有子区间中区间和的绝对值最接近t的和及区间左右端点思路:这题看的题解。。将序列前缀和与索引放入一个数组中,根据前缀和排序,取每次序列和num和t差的最小值,若num比t大则增加左边界,比t小增加右边界,恰好等于t则表示这就是最佳答案,由于l>r故l==r时r++,由于排序后索引顺序乱了故若l>r则调换#include<al...原创 2019-07-10 14:44:14 · 158 阅读 · 0 评论 -
XDU暑训2019 Day8 洛谷P1886 单调队列
题意:给出一个序列和窗口大小k,窗口从序列头开始向右移,求每次移动后窗口中所有最大值和最小值思路:首先想到ST表,结果内存超了#include<algorithm>#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<ma...原创 2019-07-10 15:35:34 · 149 阅读 · 0 评论 -
LeetCode 3 无重复字符的最大子串 指针 滑动窗口
思路:如果当前子串里包含下一个字符,就使i递增,直到子串中不包含这一字符为止。如果不包含这一字符就让窗口扩大。这一解法主要利用了String的substring api。public int lengthOfLongestSubstring(String s) { if (s == null || s.equals("")) return 0; int...原创 2019-06-05 21:01:22 · 160 阅读 · 0 评论 -
LeetCode 15 三数之和 指针
在i的循环里维护两个指针,保证得到的解唯一,需要注意的就是去重复public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res = new ArrayList<>(); Arrays.sort(nums); ...原创 2019-05-31 23:49:58 · 100 阅读 · 0 评论 -
XDU暑训2019 Day8 POJ 3061 尺取 二分
题意:给一个序列和一个数S,求序列中子序列和大于等于S的最小序列长度思路:先求前缀和,枚举左边界,用二分法求右边界为满足条件的第一个值,取这些序列长最小值输出#include<algorithm>#include<iostream>#include<cstdio>#include<cmath>#include<cstring>...原创 2019-07-10 17:19:34 · 156 阅读 · 0 评论