随笔分类 - 算法题
总结经典的算法题
摘要:1.数组中的第K个最大元素 数组中的第K个最大元素 LeetCode:数组中的第K个最大元素 题目描述: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例: 输入: [3,2,3,1,2,4,5,5,6] 和 k =
阅读全文
摘要:1.移动零 2.重塑矩阵 3.搜索二维矩阵2 4.有序矩阵中第K小的元素 5.寻找重复数 6.数组相邻差值的个数 7.数组的度 8.数组嵌套 9.分隔数组 移动零 【五星】 LeetCode:移动零 题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对
阅读全文
摘要:位运算原理 不适用额外空间交换两个数 1. 缺失数字(异或应用) 2. 只出现一次的数字(异或应用) 3. 明汉距离(异或应用) 4. 只出现一次的数字(进阶版) 5. 颠倒二进制位 6. 判断一个数是不是4的n次方 7. 交替位二进制数 8. 数字的补数 9. 两整数之和 10. 最大单词长度乘积
阅读全文
摘要:1. 翻转移位相关方法 2. 有效的字母异位词 3. 计算一组字符集合可以组成的回文字符串的最大长度 4. 判断字符串同构 5. 计算字符串中有多少个回文子串 6. 替换空格 翻转移位相关方法 右移 s = "abcd123" k = 3 Return "123abcd" 先分别将“abcd”和“1
阅读全文
摘要:1. 用队列实现栈 2. 最小栈 3. 有效的括号 4. 每日温度(栈应用) 5. 下一个更大元素2(栈应用) 用队列实现栈 LeetCode:用队列实现栈 题目描述: 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素
阅读全文
摘要:递归 1. 平衡二叉树 2. 二叉树的直径 3. 路径总和 III 4. 另一棵树的子树 5. 对称二叉树 6. 二叉树的最小深度 7. 最长同值路径 8. 间隔遍历-打家劫舍 III 9. 二叉树中第二小的结点 借助队列与栈 1.二叉树的层平均值 2.找树左下角的值 3.二叉树的前中后序遍历(迭代
阅读全文
摘要:目录 算法思想 双指针思想 首尾双向遍历 同向遍历 其它 二分查找法 数学 动态规划 贪心思想 数据结构 链表 两数相加Ⅰ&Ⅱ 回文链表 分隔链表 奇偶链表 相交链表 翻转链表(递归理解) 合并两个有序链表(递归理解) 快慢指针两题 两两交换链表中的结点(递归循环两种) 删除排序链表中的重复元素(递
阅读全文
摘要:1. 两数相加 2. 两数相加2 3. 回文链表 4. 分隔链表 5. 奇偶链表 6. 相交链表 7. 翻转链表 8. 合并两个有序链表 9. 删除链表的倒数第N个节点 10. 环形链表 11. 两两交换链表中的结点 12. 删除排序链表中的重复元素 两数相加 LeetCode:两数相加 题目描述:
阅读全文
摘要:字节跳动在北京有N个工区 题目描述: 第一题. 字节跳动在北京有N个工区,形成一个环状,Bytebus是往返在各个工区的通勤车,按工区的顺序行驶,其中第 i 个工区有汽油 gas[i] 升。你有一辆油箱容量无限的的Bytebus,从第 i 个工区开往第 i+1 个工区需要消耗汽油 cost[i] 升
阅读全文
摘要:1. 最接近的三数之和 2. 通过删除字母匹配到字典里最长单词 最接近的三数之和 LeetCode:最接近的三数之和 题目描述: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入
阅读全文
摘要:1.形成两个异或相等数组的三元组数目 2.制作m束花所需的最小天数 3.最小体力消耗路径 4.将x减到0的最小操作数 5.找出最具竞争力的子序列 形成两个异或相等数组的三元组数目 LeetCode:形成两个异或相等数组的三元组数目 题目描述: 给你一个整数数组 arr 。 现需要从数组中取三个下标
阅读全文
摘要:1. 两数之和 2.最长和谐子序列 3.最长连续序列 两数之和 两数之和 还有一题:判断数组存在重复元素 太简单就不总结了。 最长和谐子序列 LeetCode:最长和谐子序列 题目描述: 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。 现在,给定一个整数数组,你需要在所有可能的子序列
阅读全文
摘要:1. 为运算表达式设计优先级 2. 不同的二叉搜索树2 为运算表达式设计优先级 LeetCode:为运算表达式设计优先级 题目描述: 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。 示例
阅读全文
摘要:1.回文数 2.计数质数 最大公约数解法 3.七进制数 4.数字转化为十六进制数 5.Excel表列名称 6.阶乘后的零 7.二进制求和与字符串求和 8. 最少移动次数使数组元素相等 II 9.多数元素 10.有效的完全平方数 11.3的幂 12.除自身以外数组的乘积 13.三个数的最大乘积 回文数
阅读全文
摘要:1. 分发饼干 2. 无重叠区间 3.用最少数量的箭引爆气球 4.根据身高重建队列 5.买卖股票的最佳时机2 6.种花问题 7.判断子序列 8.非递减数列 9.划分字母区间 10.剪绳子 分发饼干 LeetCode:分发饼干 题目描述: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个
阅读全文
摘要:1.爬楼梯 2.买卖股票的最佳时机 3.最长回文子串 4.不同路径I 5.不同路径II 6.最小路径和 7.最小路径和(三角形) 8.强盗抢劫 9.强盗在环形街区抢劫 10.数组区间和 11.数组中等差递增子区间的个数 12.分割整数的最大乘积 13.按平方数来分割整数 14.最长上升子序列 15.
阅读全文
摘要:1.搜索插入位置 2.X的平方根 3.寻找比目标字母大的最小字母 4.有序数组的单一元素 5.第一个错误版本 6.寻找旋转排序数组中的最小值 二分查找标准及变种 搜索插入位置 LeetCode:搜索插入位置 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在
阅读全文
摘要:删除排序数组中的重复项 LeetCode:删除排序数组中的重复项 题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例: 给定数组 nums =
阅读全文
摘要:1.两数之和 II - 输入有序数组 2.两数之和 3.盛最多水的容器 4.平方数之和 5.反转字符串中的元音字母 6.验证回文字符串2 两数之和2 LeetCode:两数之和 II - 输入有序数组 题目描述: 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返
阅读全文

浙公网安备 33010602011771号