leetcode
leetcode刷题
自己的九又四分之三站台
好好学习,天天向上
展开
-
leetcode-188-买卖股票的最佳时机 IV
leetcode 188买卖股票的最佳时机 动态规划原创 2023-08-28 17:39:52 · 287 阅读 · 0 评论 -
leetcode-165- 比较版本号
leetcode-165-比较版本号原创 2022-10-24 18:04:37 · 675 阅读 · 0 评论 -
leetcode-120-三角形最小路径和
leetcode-120-三角形最小路径和原创 2022-10-16 20:05:34 · 161 阅读 · 0 评论 -
leetcode-94-二叉树的中序遍历
leetcode-94-二叉树的中序遍历原创 2022-06-20 17:52:19 · 325 阅读 · 3 评论 -
leetcode-57-插入区间
leetcode-57-插入区间原创 2022-06-09 23:00:00 · 140 阅读 · 1 评论 -
leetcode-56-合并区间
leetcode-56-合并区间原创 2022-06-08 22:00:00 · 1196 阅读 · 0 评论 -
leetcode-118、119-杨辉三角
1.问题描述https://leetcode.cn/problems/pascals-triangle/https://leetcode.cn/problems/pascals-triangle-ii/2. 解题代码118解题代码public IList<IList<int>> Generate(int numRows) { IList<IList<int>> resultList=new List<IList<int&g原创 2022-05-19 23:00:00 · 198 阅读 · 1 评论 -
leetcode-15-三数之和
1.问题描述https://leetcode.cn/problems/3sum/2. 解题代码2.1. 朴素代码public class Solution { public IList<IList<int>> ThreeSum(int[] nums) { Dictionary<string,IList<int>> dicReturn=new Dictionary<string,IList<i原创 2022-05-13 10:31:46 · 81 阅读 · 0 评论 -
leetcode-42-接雨水
https://leetcode-cn.com/problems/trapping-rain-water/solution/jie-yu-shui-by-leetcode-solution-tuvc/1. 题目描述https://leetcode-cn.com/problems/trapping-rain-water/2. 解题思路2.1. 动态规划对于下标 ii,下雨后水能到达的最大高度等于下标 ii 两边的最大高度的最小值,下标 ii 处能接的雨水量等于下标 ii 处的水能到达的最大高度减去转载 2022-05-02 08:30:00 · 172 阅读 · 1 评论 -
leetcode-92-反转链表
1.问题描述https://leetcode-cn.com/problems/reverse-linked-list-ii/解题代码public class Solution { public ListNode ReverseBetween(ListNode head, int left, int right) { // 设置 dummyNode 是这一类问题的一般做法 ListNode dummyNode = new ListNode(-1);原创 2022-04-22 12:13:10 · 549 阅读 · 0 评论 -
我有一式算法绝学,名曰‘快慢指针’
一式算法绝学,’快慢指针‘快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。1. 判断单链表是否为循环链表2. 在有序链表中寻找中位数原创 2022-04-20 18:12:56 · 3259 阅读 · 12 评论 -
leetcode-75-颜色分类
1.问题描述https://leetcode-cn.com/problems/sort-colors/2. 解题代码2.1. 基本解法public class Solution { public void SortColors(int[] nums) { int color_1=0; int color_2=0; int color_3=0; for(int i=0;i<nums.Length;i++)原创 2022-04-14 21:45:00 · 229 阅读 · 0 评论 -
leetcode-204-计数质数
1.问题描述https://leetcode-cn.com/problems/powx-n/2. 解题代码2.1. 基本解法public class Solution { public int CountPrimes(int n) { int numCount=0; for (int i = 2; i < n; i++) { int selfNum=i/2; bool bPrimeNum=原创 2022-03-31 21:00:00 · 266 阅读 · 0 评论 -
leetcode-50-Pow(x, n)
1.问题描述https://leetcode-cn.com/problems/powx-n/2. 解题代码2.1. 基本解法public double MyPow(double x, int n){ if (x == 1 || n == 0) { return 1; } if (n == 1) { return x; } double dReturn = x; int num = n; if (原创 2022-02-28 21:56:02 · 177 阅读 · 2 评论 -
leetcode-100-相同的树
1.问题描述https://leetcode-cn.com/problems/same-tree/2.解题代码/* * @lc app=leetcode.cn id=100 lang=csharp * * [100] 相同的树 */// @lc code=start/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNod原创 2022-02-27 23:05:25 · 7874 阅读 · 0 评论 -
leetcode-88-合并两个有序数组
1.问题描述https://leetcode-cn.com/problems/merge-sorted-array/2.解题代码2.1 朴素解法/* * @lc app=leetcode.cn id=88 lang=csharp * * [88] 合并两个有序数组 */// @lc code=startpublic class Solution { public void Merge(int[] nums1, int m, int[] nums2, int n) {原创 2022-02-25 22:01:55 · 124 阅读 · 0 评论 -
从缺失的第一个正数看“抽屉原理”
1. 计算思路桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放不少于两个苹果。这一现象就是我们所说的“抽屉原理”。 抽屉原理的一般含义为:“如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1个元素放到n个集合中去,其中必定有一个集合里至少有两个元素。” 抽屉原理有时也被称为鸽巢原理。它是组合数学中一个重要的原理。原理1: 把多于n个的物体放到n个抽屉里,则至少有一个抽屉里的东西不少于两件。证明(反证法):如果每个抽屉至多只能放进一个物体,那么原创 2021-11-15 17:01:42 · 603 阅读 · 6 评论 -
leetcode-66-加一
1.问题描述https://leetcode-cn.com/problems/plus-one/2.解题代码2.1 朴素解法/* * @lc app=leetcode.cn id=66 lang=csharp * * [66] 加一 */// @lc code=startpublic class Solution { public int[] PlusOne(int[] digits) { int[] intArr=new int[digits.Length];原创 2021-10-20 22:00:00 · 119 阅读 · 1 评论 -
字符串匹配算法:从这段代码判断你是不是在大气层
最近刷题刷到leetcode的第28题,原题是这样的:这么看来这个貌似好简单1. 地面层1.1 算法实现/* * * [28] 实现 strStr() */public class Solution { public int StrStr(string haystack, string needle) { return haystack.IndexOf(needle); }}1.2 算法结果想了想这样不就可以了吗?对的,是的 这样就可以了,但原创 2021-09-07 21:57:34 · 817 阅读 · 49 评论 -
leetcode-24-两两交换链表中的节点
1.问题描述https://leetcode-cn.com/problems/swap-nodes-in-pairs/comments/2.解题代码/* * @lc app=leetcode.cn id=24 lang=csharp * * [24] 两两交换链表中的节点 */// @lc code=start/** * Definition for singly-linked list. * public class ListNode { * public int val原创 2021-09-01 18:38:03 · 131 阅读 · 1 评论 -
leetcode-23-合并K个升序链表
1.问题描述https://leetcode-cn.com/problems/merge-k-sorted-lists/2.解题代码/* * @lc app=leetcode.cn id=10 lang=csharp * * [10] 正则表达式匹配 */// @lc code=startpublic class Solution { public bool IsMatch(string s, string p) { bool[,] bMatchResult=ne原创 2021-08-13 20:08:47 · 138 阅读 · 0 评论 -
leetcode-22-括号生成
1.问题描述https://leetcode-cn.com/problems/generate-parentheses/2.解题代码/* * @lc app=leetcode.cn id=22 lang=csharp * * [22] 括号生成 */// @lc code=startpublic class Solution { public IList<string> GenerateParenthesis(int n) { Dictiona原创 2021-08-13 20:07:00 · 92 阅读 · 1 评论 -
leetcode-21-合并两个有序链表
1.问题描述https://leetcode-cn.com/problems/merge-two-sorted-lists/comments/2.解题代码/* * @lc app=leetcode.cn id=21 lang=csharp * * [21] 合并两个有序链表 */// @lc code=start/** * Definition for singly-linked list. * public class ListNode { * public int va原创 2021-08-10 20:38:20 · 135 阅读 · 0 评论 -
leetcode-20-有效的括号
1. 问题描述https://leetcode-cn.com/problems/valid-parentheses/comments/2. 解题代码/* * @lc app=leetcode.cn id=20 lang=csharp * * [20] 有效的括号 */// @lc code=startpublic class Solution { public bool IsValid(string s) { Stack<Char> stackRetu原创 2021-08-10 20:38:14 · 124 阅读 · 0 评论 -
leetcode-19-删除链表的倒数第 N 个结点
1. 问题描述https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/comments/2.解题代码/* * @lc app=leetcode.cn id=19 lang=csharp * * [19] 删除链表的倒数第 N 个结点 */// @lc code=start/** * Definition for singly-linked list. * public class ListNode { *原创 2021-08-10 20:38:07 · 106 阅读 · 0 评论 -
leetcode-15-最长公共前缀
1. 问题描述https://leetcode-cn.com/problems/3sum/comments/2.解题代码/* * @lc app=leetcode.cn id=15 lang=csharp * * [15] 三数之和 */// @lc code=startpublic class Solution { public IList<IList<int>> ThreeSum(int[] nums) { Dictionary原创 2021-08-10 20:37:58 · 74 阅读 · 0 评论 -
leetcode-10-正则表达式匹配
问题描述https://leetcode-cn.com/problems/regular-expression-matching/解题代码/* * @lc app=leetcode.cn id=10 lang=csharp * * [10] 正则表达式匹配 */// @lc code=startpublic class Solution { public bool IsMatch(string s, string p) { bool[,] bMatch..原创 2021-06-20 00:28:29 · 139 阅读 · 5 评论 -
leetcode-14-最长公共前缀
问题描述https://leetcode-cn.com/problems/longest-common-prefix/解题代码/* * @lc app=leetcode.cn id=14 lang=csharp * * [14] 最长公共前缀 */// @lc code=startpublic class Solution { public string LongestCommonPrefix(string[] strs) { string s..原创 2021-05-31 18:59:51 · 132 阅读 · 0 评论 -
leetcode-12- 整数转罗马数字
1. 题目描述https://leetcode-cn.com/problems/integer-to-roman/2. 解题代码/* * @lc app=leetcode.cn id=12 lang=csharp * * [12] 整数转罗马数字 */// @lc code=startpublic class Solution { static Dictionary<int, string> dic = null; static Solution()原创 2021-05-11 11:24:47 · 203 阅读 · 0 评论 -
leetcode-8-字符串转换整数 (atoi)
1. 问题描述https://leetcode-cn.com/problems/string-to-integer-atoi/2. 解题代码public class Solution { public int MyAtoi(string s) { bool flag=true; List<char> listNum=new List<char> for(int i=0;i<s.Length;i++)原创 2021-05-08 19:09:53 · 254 阅读 · 0 评论 -
leetcode-509-斐波那契数
1. 题目描述https://leetcode-cn.com/problems/fibonacci-number/2. 解题代码2.1 递归实现(leetcode提交应该会超时)static long DPFibonacciMemory(int n){ long num_i_1 = 0; long num_i_2 = 0; long TargetNum = 0; for (int i = 0; i < n; i++) { if (i原创 2021-04-24 17:42:45 · 215 阅读 · 0 评论 -
leetcode-55-跳跃游戏
1. 题目介绍https://leetcode-cn.com/problems/jump-game/2. 解题代码public bool CanJump(int[] A) { int n=A.Length; bool[] f=new bool[n]; f[0]=true; for (int i = 1; i < n; i++) { f[i]=false; for (原创 2021-04-24 17:38:56 · 219 阅读 · 0 评论 -
leetcode-62-不同路径
1. 题目介绍https://leetcode-cn.com/problems/unique-paths/2. 解题代码 public int UniquePaths(int m, int n) { int[,] f=new int[m,n]; int i,j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) {原创 2021-04-24 17:37:11 · 240 阅读 · 0 评论 -
leetcode-70-爬楼梯
1. 题目介绍https://leetcode-cn.com/problems/climbing-stairs/comments/2. 解题代码2.1 递归实现public static long RecursionTheStairsProblem(int n){ if (n == 1) { return 1; } else if (n == 2) { return 2; } else {原创 2021-04-24 17:35:49 · 224 阅读 · 0 评论 -
一文写清楚什么是动态规划
动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域,并在背包问题、生产经营问题、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性问题等中取得了显著的效果。1. 什么是动态规划1.1. 百度百科对于动态规划的解释动态规划,切勿望原创 2021-04-24 17:32:11 · 5401 阅读 · 3 评论 -
leetcode-11-盛最多水的容器
1. 题目描述https://leetcode-cn.com/problems/container-with-most-water/comments/2. 解题代码2.1. 暴力法此思路在以前的leetcode上可以通过,现在不能通过了,会出现耗时。/* * @lc app=leetcode.cn id=11 lang=csharp * * [11] 盛最多水的容器 */// @lc code=startpublic class Solution { public int M原创 2021-04-22 21:56:40 · 218 阅读 · 0 评论 -
leetcode-6-Z字形变换
1. 问题描述https://leetcode-cn.com/problems/zigzag-conversion/2. 解题过程首先我们先设字符串长度为:L 深度为H2.1 常规解题思路我们建立一个H*L的数组,数组操作下标StartColumsIndex和StartRowIndex按照题目的意思我们来修改StartColumsIndex和StartRowIndexpublic string Convert2(string s, int numRows){ if (numRo原创 2021-04-12 23:24:17 · 260 阅读 · 0 评论 -
leetcode-5-最长回文子串
1. 问题描述https://leetcode-cn.com/problems/longest-palindromic-substring//* * @lc app=leetcode.cn id=5 lang=csharp * * [5] 最长回文子串 */// @lc code=startpublic class Solution { public string LongestPalindrome(string s) { if (s.Len原创 2021-04-11 20:44:40 · 205 阅读 · 0 评论 -
leetcode-7-整数反转
1. 问题描述https://leetcode-cn.com/problems/reverse-integer/2. 实现/* * @lc app=leetcode.cn id=7 lang=csharp * * [7] 整数反转 */// @lc code=startpublic class Solution { public int Reverse(int x) { long n = 0; while(x != 0) {原创 2021-04-10 22:05:01 · 212 阅读 · 0 评论 -
leetcode-153-寻找旋转排序数组中的最小值
1. 问题描述https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array//* * @lc app=leetcode.cn id=153 lang=csharp * * [153] 寻找旋转排序数组中的最小值 */// @lc code=startpublic class Solution { public int FindMin(int[] nums) { int S原创 2021-04-10 21:58:03 · 198 阅读 · 0 评论