- 博客(23)
- 收藏
- 关注
原创 leetcode课程表
题目: 代码: public class Solution { public bool CanFinish(int numCourses, int[][] prerequisites) { int [] inDegrees = new int[numCourses]; for (int i = 0; i < prerequisites.Length; i++) { int []edge = prerequisites[i]; int v2 = edge[1]; inDegrees[v2]
2020-05-19 15:01:37 160
原创 leetcode相同的树
题目: 代码: /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int x) { val = x; } * } */ public class Solution { public bool IsS
2020-05-10 14:06:45 133
原创 leetcode对称二叉树
题目: 代码: /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int x) { val = x; } * } */ public class Solution { string a=string
2020-05-10 01:02:42 254
原创 leetcode翻转字符串里的单词
题目: 具体代码为: public class Solution { int n=0,m=0; string w=string.Empty; public string ReverseWords(string s) { s=s.Trim(); for(int i=1;i<s.Length;i++) { if(s[i-1]!=' '&&s[i...
2020-05-06 20:46:07 126
原创 leetcode回文数
题目: 将数字转为字符串,创建一个数组将字符串逆序排列,由于比较的时候将创建的数组转为数可能会溢出,所以将两段字符串作比较 代码如下: public class Solution { public bool IsPalindrome(int x) { string a=Convert.ToString(x); char[]b=new char[a.Length+1]; if(x>=0) {...
2020-04-13 21:33:33 123
原创 leetcode只出现一次的数字
题目: 因为相同的数字只有两个,可以想到用异或解决问题 代码如下: public class Solution { public int SingleNumber(int[] nums) { int result=0; for(int i=0;i<nums.Length;i++) result=result^nums[i]; return result; } } 运行结果...
2020-04-13 00:56:14 78
原创 leetcode无重复字符的最长子串
题目: 思路: 当碰到相同字符时,将第二个循环的初始量变为重复的下标+1,用max记录当前的最大值 代码如下: public class Solution { public int LengthOfLongestSubstring(string s) { if(s.Length<=1) return s.Length; int max=0; int b=0; for(int i=1...
2020-04-12 22:27:52 69
原创 leetcode滑动窗口最大值
题目: 刚开始是创建一个窗口数组,然后用sort函数排序找出最大值,但是时间复杂度超过题目要求,具体代码是: public class Solution { public int[] MaxSlidingWindow(int[] nums, int k) { int[]result=new int [nums.Length-k+1]; int[] current; for(int i=0;i&...
2020-03-29 20:51:27 161
原创 leetcode整数反转
题目: 思路:将输入的数转换为字符串类型,然后将字符串反转,继续转为整数类型即可 代码块: public class Solution { public int Reverse(int x) { try{ string a=Convert.ToString(x); char[]b=new char[a.Length+1]; if(x>=0) { for(int i=0;i<a.Len...
2020-03-26 23:19:57 78
原创 leetcode有效的括号
题目: 用栈来实现 具体代码为: public class Solution { public bool IsValid(string s) { Stack<char> charStack = new Stack<char>(); for(int i = 0; i < s.Length; i ++){ char currentChar = ...
2020-03-22 20:48:52 61
原创 leetcode逆波兰表达式
题目: 第一次写的时候想着用try catch,用一个数组将可以转换为int类型的放入数组,转换不了进入catch计算,具体代码如下: public class Solution { int sum=0; int i=0; public int EvalRPN(string[] tokens) { int []nums=new int [tokens.Leng...
2020-03-22 17:16:45 237
原创 leetcode最小栈
题目: 我的思路是创建两个数组,一个最小数组,将目前最小值放在最小数组中,这样可以在常数时间内找出stack中最小值 具体代码为: public class MinStack { int [] nums; int length; int min; int[] minnums; int stackmax=1000; /** initialize your data structure he...
2020-03-22 10:59:37 96
原创 leetcode环形链表
题目: 因为如果是环的话,设置两个动的结点,速度不等,则一定会相遇,输出true 代码为: public class Solution { public bool HasCycle(ListNode head) { try{ ListNode pre=head; ListNode cur=head.next; ...
2020-03-16 00:47:12 76
原创 leetcode删除排序链表中的重复元素
题目: 代码为: public class Solution { public ListNode DeleteDuplicates(ListNode head) { if(head==null) return null; ListNode node=head; while(node.next!=null) { if(node.val==node.next.val) nod...
2020-03-15 23:38:09 65
原创 leetcode合并两个有序链表
题目: 用遍历方法,创建一个新的链表,把两个链表比较得到的值都放入新的链表中,代码为: public class Solution { public ListNode MergeTwoLists(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode cur = dummyHead; wh...
2020-03-15 21:23:39 120
原创 猜数游戏
题目: 用try catch捕捉异常,具体代码为: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 随即小游戏 { class Program { static ...
2020-03-08 15:06:05 234
原创 leetcode买卖股票的最佳时机||
题目: 思路:对于一个数组,多次买卖使利润最大化,则可以把问题简化为两个相邻数组元素之间的大小,若后者大于前者,则在前一天买入,后一天卖出,依次进行,将得到的每一步利润叠加。 代码: public class Solution { public int MaxProfit(int[] prices) {int max=0;if(prices.Length<=1) return...
2020-03-08 12:08:29 83
原创 leetcode合并两个有序列表
题目: 思路: 1.将nums2中的元素放到0的位置上然后比较nums1数组之间大小 2.因为是有序数组,所以可以比较nums1[m-1]和nums2[n-1]大小,然后递减分别将元素放入nums1中,代码如下: public class Solution { public void Merge(int[] nums1, int m, int[] nums2, int n) { int ...
2020-03-01 18:53:43 106
原创 leetcode最大子序和
题目为: 刚开始使用暴力求解的话,用max记录最大值,再设一个值记录当前数组和的值,通过比较求出最大子序和,但是时间复杂度和空间复杂度都很大,所以可以使用动态规划法,设置一个当前数current,若当前数与数组下一个之和大于0,则是对最大和有利且设置一个sum返回最大值,代码如下: public class Solution { public int MaxSubArray(int[] ...
2020-03-01 12:22:44 179
原创 leetcode买卖股票的最佳时机
题目为: 刚开始使用的是暴力求解 用的是两个for循环,时间复杂度很高,代码如下: public class Solution { public int MaxProfit(int[] prices) { int max=0; for(int i=0;i<prices.Length-1;i++) { for(int j=i+1;j<prices.Length;j++)...
2020-02-29 22:30:20 90
原创 leetcode两数之和
采用的是暴力枚举法 leetcode中代码为 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 两数之和 { public class Class1 { public int[...
2020-02-23 13:41:21 166
原创 leetcode删除排序数组中的重复项
最初代码为: 添加类为 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace leetcode删除排序数组中的重复项1 { public class Class1 { ...
2020-02-21 14:28:47 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人