
笔记
文章平均质量分 81
Xuhx&
这个作者很懒,什么都没留下…
展开
-
哈希表基本内容
哈希表基础内容(刷一波印象)模拟散列表本篇主要介绍何为哈希表,以及普通哈希表的写法存储结构:开放寻址法、拉链法及介绍一种字符串的哈希方式。基础内容(刷一波印象)哈希表的作用:将一大堆数据映射到0-N.我们输入x∈ [10 ^ -9, 10 ^ 9], 设置一个函数h,使得h(x) ∈[0, 10^5]. 这个函数一般称为哈希函数。哈希函数怎么写呢?(1) 一般情况下:x % N (N一般情况下取成一个质数,这样冲突的概率最小。) 大于10 ^ 5的第一个质数:10 ^ 5 + 3.原创 2021-07-28 22:50:02 · 185 阅读 · 0 评论 -
有向图的拓扑排序
拓扑排序有向图的拓扑排序小编在本篇博客中主要通过 “有向图的拓扑排序”这题,给出拓扑排序的意思。有向图的拓扑排序题目链接题目大意:此题为:图的宽度优先遍历的一个应用。拓扑序列:针对有向图而说, 无向图没有拓扑序列这一说。若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。在该有向图中,1->2这条边,序列中:1在2前边; 2->3这条边, 序列中2在3前边; 1->3这条边,序列原创 2021-07-27 23:12:36 · 3025 阅读 · 0 评论 -
Trie树
Tire树基本概述基本概述用来高效存储和查找字符串集合的数据结构原创 2021-07-22 18:11:29 · 112 阅读 · 2 评论 -
贪心问题(二)-huffman树、排序不等式、绝对值不等式、推公式
贪心问题合并果子(Huffman树)排队打水(排序不等式)货仓选址(绝对值不等式)耍杂技的牛(推公式)上篇博客小编主要介绍了“贪心问题(一)–区间问题”, 博客链接这篇主要以四道例题来介绍“Huffman树、排序不等式、绝对值不等式、推公式”有关的贪心问题。合并果子(Huffman树)题目描述:题目链接思路:两点可以合并成1点,最终汇聚成一点(形象点就是树尖),可以看成一棵树。样例如图所示:我们画出一般情况(完全二叉树),所有叶子节点(红色表示)是我们要合并的点。如图所示原创 2021-07-22 15:20:33 · 255 阅读 · 0 评论 -
贪心问题(一) ---- 区间问题
你要够贪心嗷区间选点最大不相交区间数量区间分组区间覆盖贪心问题有一个特点:按照这个方案可以达到局部最优解,每次取得局部最优而达到全局最优。贪心问题虽然没有很明显的套路,但是我们可以试着尝试一些做法:对于区间问题,无外乎就是一些排序(左端点排序、右端点排序、双关键字排序)举一些栗子, 看看是否合理,感受一下。区间选点题目描述:题目链接思路:排序:我们按照区间右端点排序从前往后依次枚举每个区间:对于每个区间,我们尽可能选最右边的点,这样这点尽可能的在多个区间内。(1)如果当前区原创 2021-07-21 20:00:45 · 595 阅读 · 1 评论 -
递推与递归
递推与递归递推递归这篇文章重在介绍递归和递推的思想,并以几道例题的分析来体会体会。递推在怎样的条件下,我们才能用递推呢?(1)递推是从已知条件开始的, 必须有明确的通用公式。(2)必须是有限次运算。特点:通过前面的一些项来得出序列中的指定象的值。递归特点:(1) 数据之间的逻辑关系是递归的,如树、图等的定义和操作。(2)函数中有直接或间接调用自身的语句(3)在使用递归策略时,必须有一个明确的递归结束条件,称之为递归出口(或递归边界)...原创 2021-05-04 19:37:19 · 292 阅读 · 0 评论 -
位运算
位运算快速幂位整数乘法有很多问题,是可以用二进制位来实现的,可以避免超时、爆long long 等问题。关于位运算,在这里以两道例题为例。快速幂小编之前写过一篇专门的快速幂博客,点击链接可参考戳我用乘法来实现乘方。位整数乘法题目链接:戳我题目描述:分析:用加法实现乘法。也称龟速乘;long long 的范围大概是9 * 10^8当我们把a加b次,会超时。举个栗子啦,b 的2进制表示:11010, b=2^1 + + 2^3 + 2 ^ 4 ab = 2 ^1 * a原创 2021-05-02 21:26:52 · 94 阅读 · 0 评论 -
区间DP
区间DP石子合并环形石子合并能量项链加分二叉树凸多边形的划分简单介绍:区间DP就是在区间上进行动态规划,求解一段区间上的最优解, 通过合并小区间的最优解进而得出大区间上的最优解。定义状态时,定义的是一段区间本文章,主要通过几道经典例题的分析来试着阐述区间dp。初次接触,可能很是浅显,欢迎指正和建议@^@石子合并题目链接简单概述:分析:题目特点:我们每次只能合并相邻两堆最后合并的两堆,一堆是左边连续的一部分,另一堆是右边连续的一部分。状态表示:【(1)化零为正所有不同合并方原创 2021-05-02 20:50:52 · 127 阅读 · 1 评论 -
第十二届蓝桥杯大赛软件赛省赛B组题解
第十二届蓝桥杯大赛软件赛省赛B组题解A:空间B:卡片C:直线D:货物摆放E:路径F:时间显示G:砝码称重H:杨辉三角形I:双向排序J:括号序列A:空间题目描述:分析:1MB = 2^20B32位=32/8 B = 4B.2 ^10 = 1024嗷嗷,这大概就是告诉我们基础知识的重要性吧,上课一定要注意听讲@^@#include <bits/stdc++.h>using namespace std;int main(void){ cout << 256 / 4原创 2021-04-30 19:54:28 · 2152 阅读 · 1 评论 -
kmp算法
KMP算法在此我们以一道模板题来阐述该算法:问题:求一个字符串S中每次字符串P出现的起始下标。我们可以暴力来算:#include <iostream>#include <string>#include <algorithm>using namespace std;string s, p;int main(void){ cin >> p; cin >> s; int len1 = s.length();//大 int le原创 2021-04-18 21:08:09 · 119 阅读 · 0 评论 -
链表
链表单链表双链表我们可以用指针来实现一个链表,但每次均需要new一个结点,当数据非常大时,会超时。在这里我们用数组模拟链表。单链表在单链表中,用的最多的便是邻接表(存储图和树)。小编曾写过一篇博客,其中涉及到了邻接表,链接:图,在此基础上做补充。补充一道模板题。涉及到单链表的删除、插入等基本操作。题目链接题目描述:1 <= M <= 100000,所有操作保证合法。#include <iostream>#include <algorithm>u原创 2021-04-01 23:03:51 · 92 阅读 · 0 评论 -
二叉树相关知识
二叉树二叉树的基本知识二叉树的存储结构顺序存储链式存储二叉树的遍历二叉树的基本知识定义:二叉树是每个结点最多有两个子树的树结构,有五种基本形态:性质:(1)二叉树第i层上的结点数目最多为2^(i-1)(i>=1)(2):深度为k的二叉树至多有2^k-1个结点(k>=1)(3):包含n个结点的二叉树的高度至少为(log2n)+1(4):在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1【证明:因为二叉树中所有结点的度数均不大于2,不妨设n0表示原创 2021-03-31 18:33:43 · 360 阅读 · 0 评论 -
C语言指针
指针指针的概念指针变量的定义和使用数组、字符串指针C指针变量作为函数参数C语言指针作为函数返回值指针的概念编号:计算机所有的数据必须放在内存中,不同类型的数据占用的字节数不同,为了正确的访问这些数据,为每个字节都编上号码(每个字节的编号唯一),根据编号可以准确的找到某个字节。(int 占用4字节, char占用1字节)我们将内存中字节的编号成为地址或指针地址从0开始依次增加。如何输出一个地址?#include <stdio.h>int main(void){ int a原创 2021-03-30 20:49:25 · 108 阅读 · 0 评论 -
树的基本概念及表示方法
树概念性的东西树的存储结构双亲表示法孩子表示法孩子兄弟表示法概念性的东西树的定义:是n(n >= 0)个结点的有限集。当n = 0时称为空树,在任意一颗非空树中:(1)有且仅有一个特定的称为根的结点。(2)当n>1时,其余结点可分为m(m > 0)个互不相交的 有限集T1,T2…Tm,其中每一个集合本身又是一棵树,并且称为根的子树。关于度:(1) 结点拥有的子树数称为结点的度,(2) 树的度:取树内各结点的度的最大值。(3)度为0的结点称为叶结点或终端结点(4) 度不为原创 2021-03-23 20:37:43 · 875 阅读 · 0 评论 -
PAT做题总结1
PAT做题总结1连续因子N个数求和本人初次接触PAT,对于题目的理解尚浅,此篇主要记录本人的做题笔记,还望各位大佬多多指教。连续因子题目大意:输入一行:N(N < 2 ^ 31);输出:第一行:最长连续因子的个数第二行:因子1*因子2 *…因子k例:输入 630输出:35 * 6 * 7敲黑板的重点N < 2 * 31, 则这个值位于 12的阶乘到13的阶乘之间,所以最大的值应该是12个数连续相乘;基本常识吧因为要求最长连续因子个数,我们从2开始枚举,用n % s原创 2021-03-11 23:19:53 · 638 阅读 · 0 评论 -
编程俱乐部月赛21.3.4
编程俱乐部月赛21.3.4A.zhb去做客B. zhb的寒假作业(二分+贪心)C.转账的最小花费D.GHH爱寻宝先简单说一下,本次月赛比赛感受:表现好的: 1. 对之前算时一个突破的点是:对于比赛坚持的时间比较长了,从前因为做不出题就直接下号了,这次我在最后半小时内优化了一个时间超限的代码,多做出来一道; 2. 合理舍掉没把握的题,头铁现象明显不那么严重了。表现不好的,见下面每道题的分析吧。A.zhb去做客这题,很多人做出来了,我当时很懵,我纳闷,为啥我读不懂题,对,是我有问题。虽然很简短,原创 2021-03-06 10:43:24 · 181 阅读 · 0 评论 -
做题小感悟(随有随记)
文章目录搜索与素数相结合搜索与素数相结合题目大意:给出两个四位数的素数,求a变换到b需要几步,要求变幻时只有一个数字不同,并且是素数。【直接自敲】小编上来直接bfs,错因(1)prime是质数的意思,大意了啊,直接bfs;(2)脑子是个好东西。。我直接两重循环 记录偏移量的数组dn[] = {1, 10, 100, 1000}, j为 [0,9], 每次原数增加dn[i] * j, 违背了只改变一个数如 1230 + 80 = 1310, 改变了两个数了。。【正确思路】打印一个素数表,判断是否原创 2021-02-20 18:20:42 · 223 阅读 · 2 评论 -
三道最短路例题(Frogger, Heavy Transportation, find the longest of the shortest)
最短路做题总结1细节find the longest of the shortest问题描述细节存储每条路间的长度时,要注意存储这两点间最短的(可能会重复录入, 比如 1 2 3; 1 2 4) 1 2两点间的距离,我们存储的应该是 3. 因此我们应该这样 cin >> a >> b >> c g[a][b] = min(g[a][b], c); g[b][a] = g[a][b]find the longest of the shortest问题描述..原创 2021-02-19 22:07:16 · 211 阅读 · 0 评论 -
数组模拟小总结2
数组模拟小总结2Z字形扫描题目描述分析简洁代码Z字形扫描题目链接题目描述在图像编码的算法中,需要将一个给定的方形矩阵进行 Z 字形扫描(Zigzag Scan)。给定一个 n×n 的矩阵,Z 字形扫描的过程如下图所示:请实现一个 Z 字形扫描的程序,给定一个 n×n 的矩阵,输出对这个矩阵进行 Z 字形扫描的结果。1 <= n <= 500分析这题就是打印斜线,第一条斜线就是一个数,第二条斜线从上往下, 第三条斜线从下往上,我们发现编号奇、偶斜线打印的顺序不同。我们设置一原创 2021-02-18 21:32:40 · 334 阅读 · 0 评论 -
博弈论做题总结2
博弈论做题总结2邂逅明下(巴什)题目大意分析邂逅明下(巴什)题目大意n 枚硬币, 每次至少取p枚,最多q枚,如果剩下少于p枚就要一次取完。求先取的人是否有必胜策略。分析【小编当时遇题的思考】自然是从n和两数的关系入手, n <= p时先手必输, p < n <= 2p时,先手可赢。但当 n > 2p时,我们就得讨论q的大小关系,脑子一团乱麻,直接搜答案了(对自己的菜很是无语。。倒也不为难自己)【合理解释】感觉巴什博弈就是两者取的个数拼凑成一个数(一般固定),剩下一个不得原创 2021-02-18 00:14:27 · 249 阅读 · 1 评论 -
博弈论做题总结1
博弈论做题总结Calendar Game题目大意Calendar Game题目大意两个人玩一种游戏,游戏内容为:在1900年1月1日到2001年11月4日之间的某一个日期开始,分别往下报日期,有两种报法,可以报该天的下一天,也可以报下个月的这一天(如果下个月没有这一天则不可以这样报),最后报到2001年11月4日的人赢。问对于给定的日期,先手是赢是输。(两人均采用最优策略)...原创 2021-02-16 22:34:45 · 400 阅读 · 1 评论 -
博弈论
博弈论基本知识基本知识算法中常见的博弈论一般是 公平组合游戏 。公平组合游戏:(1)游戏有两个人参与,二者轮流做出决策,双方均知道游戏的完整信息;(2)任意一个游戏者在某一确定状态可以作出的决策集合只与当前的状态有关,而与游戏者无关;(3)游戏中的同一个状态不可能多次抵达,游戏以玩家无法行动为结束,且游戏一定会在有限步后以非平局结束。(4)大部分的棋类游戏都 不是 公平组合游戏,如国际象棋、中国象棋、围棋、五子棋等(因为双方都不能使用对方的棋子)。必胜点 与 必败点:P点:必败点,换而言原创 2021-02-15 22:49:00 · 175 阅读 · 0 评论 -
最短路问题
最短路常见的最短路问题1. 单源最短路(1)所有边权都为正数(2)存在负权边2.多源汇最短路Dijkstra求最短路 I问题描述本文主要介绍最短路相关问题的基本介绍,较为基础。本篇将以几道模板题,尝试说明这几个算法。常见的最短路问题1. 单源最短路求一个点到其他点的最短距离(1)所有边权都为正数m 如果和 n^2一个级别的叫稠密图m如果和 n 一个级别的就叫 稀疏图(N为一个图中的点数)朴素Dijkstra算法 时间复杂度:O(N ^ 2)堆优化版的Dijkstra算法O(m logN原创 2021-02-07 23:42:32 · 425 阅读 · 0 评论 -
堆
堆堆的基本介绍两种实现方式相关概念手写堆存储基本操作插入操作求当前堆中最小值删除最小值删除任意一个元素一道模板题修改任意一个元素优先队列基本介绍堆的基本介绍两种实现方式手写堆利用C++中的优先队列相关概念堆:一种支持插入,删除,查询最值的数据结构,是一颗完全二叉树,实际上就是一个优先队列priority_queue大根堆:树中的任意一个节点的权值都小于等于其父节点(根节点是最大值)小根堆:树中的任意一个节点的权值都大于等于其父节点(根节点是最小值)手写堆存储一维数组存储,1号原创 2021-02-06 23:37:52 · 217 阅读 · 0 评论 -
搜索做题总结1
题目要求每行每列最多出现1个棋子我们可以从第一行开始走,标记每一列是否走过。注意题目要求,摆放的棋子可能小于行数,因此:满足条件时,只需要棋子数==0即可,摆到的行数可能小于总行数。注意传入参数是, i + 1void dfs(int m, int step){ if(step == 0){ res ++; return ; } for(int i = m; i <= n; i ++){ for(int j = 1;原创 2021-02-05 21:44:43 · 118 阅读 · 0 评论 -
Dungeon Master(三维迷宫求最短路径例题1)
Dungeon Master三维迷宫求最短路径例题1题目描述题目分析题目描述题目链接简单描述:你被困在一个3D地牢中且继续寻找最短路径逃生!地牢由立方体单位构成,立方体单位中有的会充满岩石。向上下前后左右移动一个单位需要一分钟。你不能向对角线的四个方向移动且迷宫四周环绕着许多岩石。是否可以逃出地牢?如果可以,则需要多少时间?Input - 输入: 输入的第一行包含一个数,表示地牢的数量。 每个地牢的描述,其第一行包含三个数L,R和C(均小于等于30)。 L表示地牢的层数;R和C分别表原创 2021-02-04 18:09:03 · 571 阅读 · 0 评论 -
DP --背包问题(一)
背包问题01背包问题基本特征问题描述思路朴素版一维版本完全背包基本特征问题描述思路朴素版本优化版一维版本多重背包基本特征问题描述1思路朴素版本问题描述2思路分组背包基本特征01背包问题基本特征n个物品和容量为v的背包,每个物品两个属性,体积vi,价值wi ,每个物品只能用一次或者0次问题描述题目链接有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最原创 2021-02-03 16:52:26 · 151 阅读 · 0 评论 -
初见离散化
本篇只是对离散化粗浅的认识,并不深入文章目录离散化基本知识适用场景:两个问题unique()函数去重基本内容一个简单程序区间和题目描述思路代码离散化基本知识适用场景:值域比较大,但个数比较少,且数组为 升序有些题目,我们要以这些值为下标来做,但我们开的数组大小是有限的,因此我们可以把这些值映射到 从0开始,连续的自然数中两个问题原数组中可能有重复元素(去重, unique函数)如何算出原数组的值中映射的值是多少(原数组升序)二分unique()函数去重基本内容unique(num,原创 2021-02-02 23:02:50 · 107 阅读 · 0 评论 -
位运算问题
位运算n的二进制表示中,第k位是几思路如何输出10的二进制表示(用我们的位运算实现)lowbit函数实现实现目标实现原理一个应用:统计二进制中1的个数n的二进制表示中,第k位是几思路先把第k位数字移到最后一位, n >> k看个位是几, x & 1n >> k & 1 即为公式如何输出10的二进制表示(用我们的位运算实现)注意这个循环中,并没有改变n的大小#include <iostream>using namespace std;原创 2021-02-02 21:15:31 · 385 阅读 · 0 评论 -
求连续最大和(一维、二维)
求连续最大和(一维、二维)一维分析二维题目描述分析一维简单描述:给一个一维数组,如何求和最大连续子序列分析考虑相邻两元素即可已知f[i], 求f[i + 1]f[i] > 0, f[i + 1] = fi[] + a[i]f[i] <= 0, f[i + 1] = a[i];时间复杂度:O(n)二维题目描述题目链接给定一个包含整数的二维矩阵,子矩形是位于整个阵列内的任何大小为1 * 1或更大的连续子阵列。矩形的总和是该矩形中所有元素的总和。在这个问题中,具有原创 2021-02-01 22:52:38 · 151 阅读 · 0 评论 -
搜索 (二)
文章目录dfs算法过程一道例题: 整数划分(体会剪枝)问题描述:基本思路例题二:迷宫问题基本思路代码实现bfsdfs算法过程状态(A)判断当前状态是否满足题目需要,满足则进行保存、比较、输出等操作判断当前状态是否合法(题目要求、数组越界等)往下走一层(递归调用dfs, 记得 return)一道例题: 整数划分(体会剪枝)问题描述:一个正整数可以划分为多个正整数的和,比如n=6时: 6;1+5;2+4;3+3;2+2+2;1+1+4;1+2+3;1+1+1+3;1+1+2+2;1+1+1原创 2021-02-01 21:13:51 · 518 阅读 · 0 评论 -
快速幂
快速幂一、基本思想二、一道模板题三、快速幂求逆元一、基本思想可以在O(log k)时间内 解决a的k次方 % p结果,a,p, k均可以在10的九次方范围内把k拆成二进制形式二、一道模板题题目链接题目描述:给定n组ai,bi,pi,对于每组数据,求出abii mod pi的值。输入格式第一行包含整数n。接下来n行,每行包含三个整数ai,bi,pi。输出格式对于每组数据,输出一个结果,表示abii mod pi的值。每个结果占一行。数据范围1≤n≤100000,1≤a原创 2021-01-31 22:30:33 · 219 阅读 · 1 评论 -
数组模拟小总结 一
数组模拟小总结 一 一、逃跑的zhb分析代码二、数组映射1. 简述例题1:输入一个数,判断每个数字出现了几回取余以字符串形式读数例题2:买奶茶分析例题三:花瓣数分析一道不应景的前缀和小题分析代码本文只是总结了本人(小废物)碰到的数组模拟的题,及个人的小感受。很是粗浅,哪里有不合适的地方,欢迎各位大佬指点@^@!一、逃跑的zhb分析我们要存储m条通路及其费用,且无向,邻接矩阵存储通路g[a][b] = g[b][a] = 钱数对于给出的 k 条通路:(1)存储,这些为无序整数,但我原创 2021-01-31 16:56:20 · 187 阅读 · 0 评论 -
质数、线性筛法
质数质数基本知识定义质数的判定分解质因数思路一道例题线性筛法基本思想一道例题质数基本知识定义在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数,或者素数质数的判定不优化:时间复杂度:O(n),一般会超时bool is_prime(int x){ if(x < 2) return false; for(int i = 2; i < x; i ++){ if(x % i == 0) return false; } return t原创 2021-01-30 17:43:38 · 479 阅读 · 0 评论 -
容斥原理简析
文章目录一、初步了解韦恩图容斥原理二、能被整除的数一、初步了解韦恩图简单的容斥原理的例子, 求出那图形的面积n个圆相交的情况,面积:单个圆的面积 - 两个圆(相交的面积) + 三个(相交的面积) - 四个(圆相交的面积)+五个(圆相交的面积)…+(-1) ^(n-1) * n(n个圆相交的面积)容斥原理也可以考虑某些集合相交后的元素个数。时间复杂度:2 **n - 1在计数时,必须注意没有重复,没有遗漏 。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是原创 2021-01-30 14:55:12 · 493 阅读 · 0 评论 -
next_permutation函数
文章目录刷个小印象火星人函数代码实现手写分析刷个小印象求序列全排列函数, 求出当前排列的下一个排列,(按照字典序)我们以一道题目来说明用法, 题目虽然比较长,但也不是很难理解。我们也用代码来实现这个函数。火星人题目链接题目描述:人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告原创 2021-01-29 21:47:07 · 122 阅读 · 0 评论 -
并查集问题
文章目录一、基本知识1. 作用2.基本原理3.三个问题4.一个优化二、合并集合三、连通块中点的数量分析代码四、食物链1.分析2.代码五、小希的迷宫分析代码一、基本知识1. 作用(1)将两个集合合并(2)询问两个元素是否在一个集合当中2.基本原理以树的形式维护每个集合, 每个集合的根节点编号就是该集合的编号。每个节点都存储他的父节点。 p[x] 表示 x 的父节点3.三个问题如何判断树根:if(p[x] == x)如何求 x 的 集合编号while(p[x] != x) x = p[原创 2021-01-29 18:40:56 · 267 阅读 · 0 评论 -
快排、归并排序
文章目录一、快速排序1.思想递归+分治的思维问题的分解(划分)问题的求解(递归,注意最小情况的递归终点)解的合并一、快速排序1.思想(分治)确定分界点原创 2021-01-29 14:33:52 · 143 阅读 · 0 评论 -
最长上升子序列
本文将会用几道模板题来试着说明最长上升子序列该如何操作。最长上升子序列一、最长上升子序列1.题目描述2.分析3.代码实现二、最长上升子序列II1. 题目描述2. 分析3.代码实现(一)4.代码实现(二)三、合唱队形1. 题目描述2.分析3.代码一、最长上升子序列题目链接1.题目描述给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列原创 2021-01-28 22:22:26 · 537 阅读 · 0 评论 -
双指针问题
双指针一、基本认识1.列举两个场景(1)、指向两个序列(2)、指向一个序列2、一般写法3.核心思想4. 一道小题,感受一下二、最长连续不重复子序列三、数组元素的目标和四、判断子序列主要记录双指针思想,和几道经典例题。一、基本认识1.列举两个场景(1)、指向两个序列归并排序(2)、指向一个序列快排 (维护一段区间)2、一般写法for(int i = 0, j = 0; i < n; i ++){ // i 整个扫描一遍 while(j < i &&原创 2021-01-28 18:36:31 · 156 阅读 · 0 评论