LeetCodeDaily
lankerens
日常抄代码并给大佬点赞
展开
-
171. Excel 表列序号/ 168. Excel表列名称 ( 26进制转换变形 )
A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...原创 2023-02-03 13:16:49 · 160 阅读 · 0 评论 -
2325. 解密消息 (哈希表 / 定长数组)
解密消息原创 2023-02-01 15:56:53 · 161 阅读 · 0 评论 -
1758. 生成交替二进制字符串的最少操作数 (模拟)
1758. 生成交替二进制字符串的最少操作数 (模拟)原创 2022-11-29 10:28:15 · 162 阅读 · 0 评论 -
795. 区间子数组个数 (双指针)
795. 区间子数组个数 (双指针)原创 2022-11-24 14:35:59 · 187 阅读 · 0 评论 -
775. 全局倒置与局部倒置(思维-数学 / 脑筋急转弯)
775. 全局倒置与局部倒置(思维-数学 / 脑筋急转弯)原创 2022-11-16 12:04:21 · 140 阅读 · 0 评论 -
1710. 卡车上的最大单元数(简单贪心)
1710. 卡车上的最大单元数(简单贪心)原创 2022-11-15 10:31:39 · 104 阅读 · 0 评论 -
1620. 网络信号最好的坐标(暴力枚举)
1620. 网络信号最好的坐标(暴力枚举)原创 2022-11-02 11:23:35 · 130 阅读 · 0 评论 -
1662. 检查两个字符串数组是否相等(遍历拼接)
1662. 检查两个字符串数组是否相等(遍历拼接)原创 2022-11-01 17:49:20 · 124 阅读 · 0 评论 -
481. 神奇字符串 (构造 + 统计 /遍历)
481. 神奇字符串 (构造 + 统计 /遍历)原创 2022-10-31 14:24:30 · 89 阅读 · 0 评论 -
1331. 数组序号转换 ( 哈希表 / 暴力 )
1331. 数组序号转换 ( 哈希表 / 暴力 )原创 2022-10-28 10:49:55 · 158 阅读 · 0 评论 -
1822. 数组元素积的符号 ( 简单计数 )
1822. 数组元素积的符号原创 2022-10-27 11:23:49 · 113 阅读 · 0 评论 -
915. 分割数组( 模拟 / 数组 )
915. 分割数组(模拟)原创 2022-10-24 10:44:32 · 108 阅读 · 0 评论 -
2027. 转换字符串的最少操作次数( 简单贪心 )
2027. 转换字符串的最少操作次数原创 2022-10-19 11:38:00 · 124 阅读 · 0 评论 -
1700. 无法吃午餐的学生数量( 哈希计数 )
1700. 无法吃午餐的学生数量原创 2022-10-19 10:22:22 · 173 阅读 · 0 评论 -
LCP 28. 采购方案( 排序 + 二分 / 双指针 )
LCP 28. 采购方案原创 2022-10-17 15:06:08 · 150 阅读 · 0 评论 -
904. 水果成篮 (滑动窗口 / 滑动窗口 + 哈希表)
904. 水果成篮原创 2022-10-17 11:17:28 · 197 阅读 · 0 评论 -
940. 不同的子序列 II ( DP )
940. 不同的子序列 II原创 2022-10-14 10:23:54 · 139 阅读 · 1 评论 -
769. 最多能完成排序的块 ( 贪心 )
769. 最多能完成排序的块原创 2022-10-13 10:16:23 · 91 阅读 · 0 评论 -
494. 目标和 ( DP / 类01背包 )
494. 目标和原创 2022-10-12 14:41:48 · 64 阅读 · 0 评论 -
817. 链表组件 ( 模拟 )
817. 链表组件原创 2022-10-12 10:00:08 · 113 阅读 · 0 评论 -
801. 使序列递增的最小交换次数 ( DP )
801. 使序列递增的最小交换次数原创 2022-10-11 16:32:02 · 127 阅读 · 0 评论 -
1790. 仅执行一次字符串交换能否使两个字符串相等 (哈希 计数)
1790. 仅执行一次字符串交换能否使两个字符串相等原创 2022-10-11 14:36:25 · 88 阅读 · 0 评论 -
39. 组合总和( 回溯+去重 )
LeetCode:39. 组合总和通过下标控制回溯的位置.不难想到使用回溯法来解决这类问题,关键在于如何去重[2,3,6,7] 7从整个解空间来看,第一个节点dfs的搜索结果会出现在第二节点dfs的搜索结果中,从第一个结点开始dfs会遍历出[2,3,2]的结果,第二个节点遍历会遍历出[3,2,2]的结果来如何避免这种情况 则只要在由3开始遍历的时候不去深度遍历包含2的那一条分支 所以只要在循环中跳过第一个节点2就可以避免[3,2,2]这个重复的解 所以可以指定回溯之后的开始遍历节点来去重 ;原创 2022-03-22 14:53:02 · 580 阅读 · 0 评论 -
2038. 如果相邻两个颜色均相同则删除当前颜色 ( 贪心/博弈 )
LeetCode:2038. 如果相邻两个颜色均相同则删除当前颜色两个人的选择是独立的,不会影响对方。即做出的选择不会增加对方的选择。遇到连续三个的A/B,结果加一即可。AC Codepublic class Solution { public bool WinnerOfGame(string colors) { int[] ans = { 0, 0 }; char c = 'K'; int cnt = 1; //原创 2022-03-22 10:07:55 · 170 阅读 · 0 评论 -
653. 两数之和 IV - 输入 BST( 树的深度遍历 + 哈希表 )
LeetCode:653. 两数之和 IV - 输入 BST创建一个 ISet 集合用于保存已经遍历过的数据.深度遍历树,当遍历到一个数后,用目标数字减去当前节点数字,在集合中是否存在1.如果存在则找到答案,返回true2.如果没有找到就将当前的数字加入到集合中。继续遍历下一个节点。AC Codepublic class Solution { ISet<int> set = new HashSet<int>(); public bool FindT原创 2022-03-21 16:59:21 · 259 阅读 · 0 评论 -
229. 求众数 II ( 摩根投票法 )
LeetCode:229. 求众数 II动画演示出现次数超过 n / k 的数最多只有 k − 1 个所以n / 2 只有一个候选人,n / 3 有两个候选人,n / 4 有三个候选人.这题是 n / 3 ,所以初始化两个候选人 new { cnt = 0, res = 0 } , new { cnt = 0, res = 0}规则a. 数与其中一个候选人的相同, 该候选人的票数 + 1b. 票数为0, 更换候选人.c. 数与两个候选人都不同, 两个候选人的票数 - 1原创 2022-03-02 11:01:54 · 316 阅读 · 0 评论 -
169. 多数元素 ( 摩根投票法 )
LeetCode:169. 多数元素摩根投票法思路:1.先选定第一个是候选人,票数为1(自己给自己一票)2.之后遍历遇到相同的,票数加一,不相同,票数减一3.当票数为0了,更换候选人,票数为1(自己给自己一票)4.最后选定的那个候选人就是答案。AC Codepublic class Solution { public int MajorityElement(int[] nums) { int len = nums.Length;原创 2022-03-02 10:30:10 · 217 阅读 · 0 评论 -
169. 多数元素 ( 排序遍历 )
LeetCode:169. 多数元素排序 + 一次遍历复杂度 2*NAC Codepublic class Solution { public int MajorityElement(int[] nums) { int len = nums.Length; Array.Sort(nums); int cnt = 1, temp = nums[0]; for(int i = 1; i < len; i原创 2022-03-02 10:22:36 · 65 阅读 · 0 评论 -
917. 仅仅反转字母 ( 双指针 )
LeetCode:917. 仅仅反转字母观察得出,除去非字母的字符,字母的字符其实就是左右两边相互调转了位置,所以定量两个变量 a, b,当同时指向字母的时候,交换两个指针的内容,然后同时a++,b-- 向前一位继续比较。AC Codepublic class Solution { public string ReverseOnlyLetters(string s) { int a = 0, b = s.Length - 1;原创 2022-02-23 12:46:08 · 374 阅读 · 0 评论 -
6. Z 字形变换( 找规律 )
LeetCode:6. Z 字形变换题目大意:给定两个输入参数1.从上到下,从左到右读取的字符串 PAYPALISHIRING2.从上到下的行数 3P A H NA P L S I I GY I Rstr = "PAYPALISHIRING", row = 4P I NA L S I GY A H RP I要求我们最后按每行从左到右输出 PAHNAPLSIIGYIR思路:找规律观察输出结果的每个字符原创 2022-02-22 15:02:14 · 284 阅读 · 0 评论 -
22. 括号生成( 暴力递归 )
LeetCode:22. 括号生成通过两个变量a,b分别记录"(",")"的剩余数量,优先消耗 “(”,直到将 “(” 消耗完了, 但保证 “)” 的剩余数量始终比 “(” 的数量多即可。AC Codepublic class Solution { List<string> res = new List<string>(); public IList<string> GenerateParenthesis(int n)原创 2022-02-22 12:50:37 · 299 阅读 · 0 评论 -
190. 颠倒二进制位 ( 循环位运算 )
LeetCode:190. 颠倒二进制位AC Codepublic class Solution { // you need treat n as an unsigned value public int reverseBits(int n) { int ans = 0; for(int i = 0; i < 32; i++) { // 左移记录到 ans 的高位去 ans |= (n &原创 2021-03-30 14:55:34 · 178 阅读 · 0 评论 -
74. 搜索二维矩阵 ( 双重二分 )
LeetCode: 74. 搜索二维矩阵二分,找到某一行后,进行二分其实还可以再改进,中间那个 for 也改成 二分,这样定位到可能的所在行又会更快AC Codeclass Solution { public boolean searchMatrix(int[][] m, int t) { if(m == null || m.length == 0) return false; int row = m.length, col = m[0].length;原创 2021-03-30 14:25:30 · 181 阅读 · 0 评论 -
83. 删除排序链表中的重复元素 ( 迭代 )
LeetCode:83. 删除排序链表中的重复元素AC Code/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this原创 2021-03-26 18:10:37 · 83 阅读 · 0 评论 -
剑指 Offer 55 - I. 二叉树的深度 ( 递归 / 层序遍历 )
LeetCode:剑指 Offer 55 - I. 二叉树的深度二刷遍历树即可递归返回层数结果AC Code/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {原创 2021-03-25 22:42:04 · 125 阅读 · 0 评论 -
1047. 删除字符串中的所有相邻重复项 ( StringBuffer + 长度维护 )
LeetCode:1047. 删除字符串中的所有相邻重复项题目要求的是两两互相消除,不是相同的全部消掉然后利用 StringBuffer 和 一个长度维护AC Codeclass Solution { public String removeDuplicates(String s) { StringBuffer sb = new StringBuffer(); char[] cs = s.toCharArray(); int len =原创 2021-03-25 22:33:41 · 242 阅读 · 0 评论 -
456. 132 模式 ( 从后往前维护一个单调栈 )
LeetCode:456. 132 模式从后往前维护一个单调栈 若出现了栈顶元素比当前元素小的情况 说明找到了一个中间元素 大于它后面的元素 与此同时由于单调栈的特性我们维护的这个“后面的元素”会尽可能大,只要存在一个前面的元素比它小即可AC Codeclass Solution { public boolean find132pattern(int[] nums) { // 滑动窗口 ? 维持三个单位的 -> 要的是子序列,所以这个不行 // 1原创 2021-03-25 21:56:24 · 75 阅读 · 0 评论 -
82. 删除排序链表中的重复元素 II ( 迭代 )
LeetCode:82. 删除排序链表中的重复元素 II如果头节点会出现改动的,建议创建一个没用的带头结点, 方便理清思路还是AC Code/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } *原创 2021-03-25 19:33:06 · 130 阅读 · 0 评论 -
150. 逆波兰表达式求值 ( 模拟 )
LeetCode:150. 逆波兰表达式求值逆波兰表达式 (后缀表达式)直接遇到运算符直接运算就行了AC Codeclass Solution { public int evalRPN(String[] t) { int len = t.length; Stack<Integer> num = new Stack<>(); for(int i = 0; i < len; i++) {原创 2021-03-20 13:00:01 · 87 阅读 · 0 评论 -
59. 螺旋矩阵 II ( 模拟 )
LeetCode:59. 螺旋矩阵 IIAC Codeclass Solution { public int[][] generateMatrix(int n) { // 拆分成四个部分 int cnt = 1; int[][] arr = new int[n][n]; int left = 0, right = n - 1, top = 0, bottom = n - 1; while(cnt <= n原创 2021-03-16 23:07:45 · 119 阅读 · 0 评论