加载中...
标签详情
双指针 分类
  文章标签
排序 197 算法 1 django 64 npm 2 Artifactory 2 Docker 2 CI/CD 4 认证 2 MongoDB 2 mongosh 2 权限 2 系统集合 1 版本兼容 1 环境配置 1 时区 1 date-fns 1 前端 1 Vite 1 JavaScript 5 缓存 1 依赖管理 1 Helm 1 Jenkins 2 DNS 1 Passenger 1 性能 1 故障排查 3 Rails 5 Postfix 2 SMTP 1 邮件 3 竞态条件 1 Ruby 1 ActionMailer 2 数据治理 1 OOM 1 内存 1 性能调优 1 Linux 8 配置管理 1 磁盘清理 1 日志 1 运维 2 Shell 4 超时 1 任务调度 1 源码分析 1 logrotate 1 cron 1 Rancher 1 Kubernetes 1 SSH 2 公钥认证 2 Hexo 6 markdown 4 PostgreSQL 1 数据库 19 热搜榜 1 widget 1 media 1 递归 46 字符串 423 动态规划 335 数组 855 哈希表 303 数学 306 设计 93 字典树 33 数据流 14 树 167 深度优先搜索 213 二叉树 151 广度优先搜索 177 二分查找 146 后缀数组 3 滑动窗口 56 哈希函数 16 滚动哈希 10 矩阵 141 前缀和 58 交互 5 栈 110 回溯 85 贪心 163 双指针 131 位运算 122 状态压缩 26 树状数组 14 线段树 19 堆(优先队列) 82 图 71 双连通分量 1 链表 77 拓扑排序 19 数论 7 最短路 10 二叉搜索树 43 字符串匹配 13 记忆化搜索 30 博弈 18 队列 22 单调队列 6 几何 24 组合数学 13 概率与统计 8 并查集 48 最小生成树 2 强连通分量 2 随机化 14 单调栈 34 分治 44 枚举 22 有序集合 29 扫描线 4 桶排序 8 基数排序 2 计数 55 模拟 63 归并排序 8 欧拉回路 2 双向链表 9 脑筋急转弯 9 Java 17 Google 1 整洁代码 1 重构 1 测试 1 python 1 scrapy 1 面向对象编程 2 设计原则 1 CPU缓存 1 多线程 6 计数排序 5 快速选择 8 迭代器 6 水塘抽样 4 拒绝采样 2 Git 1 设计模式 14 GitLab CI 1 DevOps 1 Typora 1 Markdown 1 Vue 1
剑指 Offer II 006-排序数组中两个数字之和
原文链接: https://leetcode-cn.com/problems/kLl5u1 中文题目给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。 假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用…
2021-12-03
剑指 Offer II 007-数组中和为 0 的三个数
原文链接: https://leetcode-cn.com/problems/1fGaJU 中文题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例 2: 输入:nums = [] 输出:[] 示例 3: 输入:nums = [0] 输出:[] 提示: …
2021-12-03
剑指 Offer II 014-字符串中的变位词
原文链接: https://leetcode-cn.com/problems/MPnaiL 中文题目给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的某个变位词。 换句话说,第一个字符串的排列之一是第二个字符串的 子串 。 示例 1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba"). 示例 2: 输入: s1= "ab" s2 = "eidboaoo" 输出: False 提示: 1 <= …
2021-12-03
剑指 Offer II 018-有效的回文
原文链接: https://leetcode-cn.com/problems/XltzEq 中文题目给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s = "A man, a plan, a canal: Panama" 输出: true 解释:"amanaplanacanalpanama" 是回文串 示例 2: 输入: s = "race a car" 输出: false 解释:"r…
2021-12-03
剑指 Offer II 019-最多删除一个字符得到回文
原文链接: https://leetcode-cn.com/problems/RQku0D 中文题目给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。 示例 1: 输入: s = "aba" 输出: true 示例 2: 输入: s = "abca" 输出: true 解释: 可以删除 "c" 字符 或者 "b" 字符 示例 3: 输入: s = "abc" 输出: false 提示: 1 <= s.length <= 105 s 由小写英文字母组成 注意:…
2021-12-03
剑指 Offer II 023-两个链表的第一个重合节点
原文链接: https://leetcode-cn.com/problems/3u1WK4 中文题目给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,…
2021-12-03
剑指 Offer II 022-链表中环的入口节点
原文链接: https://leetcode-cn.com/problems/c32eOV 中文题目给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 说明:不允许修改给定的链表。 示例 …
2021-12-03
剑指 Offer II 026-重排链表
原文链接: https://leetcode-cn.com/problems/LGjMqU 中文题目给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 &rarr; L1 &rarr; &hellip; &rarr; Ln-1 &rarr; Ln 请将其重新排列后变为: L0 &rarr; Ln &rarr; L1 &rarr; Ln-1 &rarr; L2 &rarr; Ln-2 &rarr; &hellip; 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示…
2021-12-03
剑指 Offer II 027-回文链表
原文链接: https://leetcode-cn.com/problems/aMhZSa 中文题目给定一个链表的 头节点 head ,请判断其是否为回文链表。 如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。 示例 1: 输入: head = [1,2,3,3,2,1] 输出: true 示例 2: 输入: head = [1,2] 输出: false 提示: 链表 L 的长度范围为 [1, 105] 0 <= node.val <= 9 进阶:能否用 O(n) 时间复杂度…
2021-12-03
剑指 Offer II 056-二叉搜索树中两个节点之和
原文链接: https://leetcode-cn.com/problems/opLdQZ 中文题目给定一个二叉搜索树的 根节点 root 和一个整数 k , 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 。假设二叉搜索树中节点的值均唯一。 示例 1: 输入: root = [8,6,10,5,7,9,11], k = 12 输出: true 解释: 节点 5 和节点 7 之和等于 12 示例 2: 输入: root = [8,6,10,5,7,9,11], k = 22 输出: f…
2021-12-03
剑指 Offer II 077-链表排序
原文链接: https://leetcode-cn.com/problems/7WHec2 中文题目给定链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head = [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head = [-1,5,3,4,0] 输出:[-1,0,3,4,5] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目在范围 [0, 5 * 104] 内 -105 <= Node.val <= 10…
2021-12-03