共534题(含多解题,实际527题)

一. 数组

题目分类 题目编号

  1. 数组的遍历 485、495、414、628
  2. 统计数组中的元素 645、697、448、442、41、274
  3. 数组的改变、移动 453、665、283
  4. 二维数组及滚动数组 118、119、661、598、419
  5. 数组的旋转 189、396
  6. 特定顺序遍历二维数组 54、59、498
  7. 二维数组变换 566、48、73、289
  8. 前缀和数组 303、304、238

二. 字符串

题目分类 题目编号

  1. 字符 520
  2. 回文串的定义 125
  3. 公共前缀 14
  4. 单词 434、58
  5. 字符串的反转 344、541、557、151
  6. 字符的统计 387、389、383、242、49、451、423、657、551、696、467、535
  7. 数字与字符串间转换 299、412、506、539、553、537、592、640、38、443、8、13、12、273、165、481
  8. 子序列 392、524、521、522
  9. 高精度运算 66、67、415、43、306
  10. 字符串变换 482、6、68
  11. 字符串匹配 28、686、459、214
  12. 中心拓展法 5、647

三. 数与位

题目分类 题目编号

  1. 数字的位操作 7、9、479、564、231、342、326、504、263、190、191、476、461、477、693、393、172、458、258、319、405、171、168、670、233、357、400
  2. 简单数学题 492、29、507
  3. 快速幂 50、372

四. 栈与递归

题目分类 题目编号

  1. 用栈访问最后若干元素 682、71、388
  2. 栈与计算器 150、227、224
  3. 栈与括号匹配 20、636、591、32
  4. 递归 385、341、394

五. 链表

题目分类 题目编号

  1. 链表的删除 203、237、19
  2. 链表的遍历 430
  3. 链表的旋转与反转 61、24、206、92、25
  4. 链表高精度加法 2、445
  5. 链表的合并 21、23

六. 哈希表

题目分类 题目编号

  1. 哈希表的查找、插入及删除 217、633、349、128、202、500、290、532、205、166、466、138
  2. 哈希表与索引 1、167、599、219、220
  3. 哈希表与统计 594、350、554、609、454、18
  4. 哈希表与前缀和 560、523、525

七. 贪心算法

题目分类 题目编号

  1. 数组与贪心算法 605、121、122、561、455、575、135、409、621、179、56、57、228、452、435、646、406、48、169、215、75、324、517、649、678、420
  2. 子数组与贪心算法 53、134、581、152
  3. 子序列与贪心算法 334、376、659
  4. 数字与贪心 343
  5. 单调栈法 496、503、456、316、402、321、84、85

八. 双指针法

题目分类 题目编号

  1. 头尾指针 345、680、167、15、16、18、11、42
  2. 同向双指针、滑动窗口 27、26、80、83、82、611、187、643、674、209、3、438、567、424、76、30
  3. 分段双指针 86、328、160、88、475
  4. 快慢指针 141、142、143、234、457、287

九. 树

题目分类 题目编号

  1. 树与递归 100、222、101、226、437、563、617、508、572、543、654、687、87
  2. 树的层次遍历 102、429、690、559、662、671、513、515、637、103、107、257、623、653、104、111、112、113、129、404、199、655、116、117
  3. 树的前序遍历 144、589
  4. 树的前序序列化 606、331、652、297、449
  5. 树的后序遍历 145、590
  6. 树的中序遍历与二叉搜索树 94、700、530、538、230、98、173、669、450、110、95、108、109
  7. 重构二叉树 105、106
  8. 二叉树的展开 114
  9. 最近公共祖先 235、236
  10. Morris中序遍历 501、99
  11. 四叉树 558、427

十. 图与搜索

题目分类 题目编号

  1. 图的建立与应用 565
  2. 深度优先搜索 17、397
  3. 回溯法 526、401、36、37、51、52、77、39、216、40、46、47、31、556、60、491、78、90、79、93、332
  4. 回溯法与表达式 241、282、679
  5. 回溯法与括号 22、301
  6. 回溯法与贪心 488
  7. 广度优先搜索 133、200、695、463、542、130、417、529、127、126、433、675
  8. 并查集 547、684、685
  9. 拓扑排序 399、207、210
  10. 有限状态自动机 65、468

十一. 二分查找

题目分类 题目编号

  1. 二分查找应用(简单) 374、35、278、367、69、441
  2. 二分查找应用(中等) 34、540、275、436、300、354、658、162、4
  3. 二分查找与旋转数组 153、154、33、81
  4. 二分查找与矩阵 74、240
  5. 二分答案法 378、668、410、483

十二. 二进制运算的应用

题目分类 题目编号

  1. 异或的应用 89、136、137、260、268
  2. 与或非的应用 371、318、201

十三. 动态规划

题目分类 题目编号

  1. 数组中的动态规划 509、70、338、45、55、198、213、650、91、639、552、123、188、309、32、264、313、403
  2. 子数组、子序列中的动态规划 689、413、446、368、416、279
  3. 背包问题 322、518、474、494、377
  4. 矩阵中的动态规划 62、63、64、120、576、688、221、629、174、96、329
  5. 动态规划与字符串匹配 583、72、97、115、516、132、131、139、140、514、10、44
  6. 状态压缩动态规划 464、691、698、638、473
  7. 区间中的动态规划 486、664、375、312、546
  8. 树形dp 337、124
  9. 数位dp 233、600

十四. 数据结构

题目分类 题目编号

  1. 数据结构设计——栈与队列 225、232、284、622、641、155
  2. 数据结构设计——哈希表 676、355、380、381
  3. 数据结构设计——哈希与双向链表 432、146、460
  4. 前缀树 208、211、648、386、677、472、421、212、336、440
  5. 堆 23、373、378、632、347、692、502、630、407、295、480
  6. 树状数组 307、315、493、327、673
  7. 线段树 699
  8. 平衡树(set/map) 352、218、363

十五. 采样

题目分类 题目编号

  1. 按权值采样 528、497
  2. 蓄水池抽样 382、398
  3. 拒绝采样 470、478、519

十六. 计算几何

题目分类 题目编号

  1. 计算几何基础 593、447、223、149
  2. 分类讨论法 335
  3. 凸包 587
  4. 覆盖问题 391

十七. 常用技巧与算法

题目分类 题目编号

  1. 博弈论 292
  2. 分块 239、164
  3. 倍增法 330
  4. 拓展欧几里得算法 365
  5. 洗牌算法 384
  6. 找规律 390、672
  7. 分治法 395、667
  8. 排序算法 147、148
  9. 线性筛 204
  10. 摩尔投票法 229