Skip to content

Commit 20834be

Browse files
author
尹若朋
committed
第一周作业
1 parent 4f00c05 commit 20834be

File tree

7 files changed

+137
-0
lines changed

7 files changed

+137
-0
lines changed

Week_01/id_7/LeetCode_189_7.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* @lc app=leetcode.cn id=189 lang=csharp
3+
*
4+
* [189] 旋转数组
5+
*/
6+
public class Solution {
7+
public void Rotate (int[] nums, int k) {
8+
k %= nums.Length;
9+
Reverse (nums, 0, nums.Length - 1);
10+
Reverse (nums, 0, k - 1);
11+
Reverse (nums, k, nums.Length - 1);
12+
}
13+
public void Reverse (int[] nums, int start, int end) {
14+
while (start < end) {
15+
int temp = nums[start];
16+
nums[start] = nums[end];
17+
nums[end] = temp;
18+
start++;
19+
end--;
20+
}
21+
}
22+
}

Week_01/id_7/LeetCode_21_7.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* @lc app=leetcode.cn id=21 lang=csharp
3+
*
4+
* [21] 合并两个有序链表
5+
*/
6+
public class Solution {
7+
public ListNode MergeTwoLists (ListNode l1, ListNode l2) {
8+
if (l1 == null) {
9+
return l2;
10+
} else if (l2 == null) {
11+
return l1;
12+
} else if (l1.val < l2.val) {
13+
l1.next = MergeTwoLists (l1.next, l2);
14+
return l1;
15+
} else {
16+
l2.next = MergeTwoLists (l1, l2.next);
17+
return l2;
18+
}
19+
}
20+
}

Week_01/id_7/LeetCode_26_7.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
public class Solution {
2+
public int RemoveDuplicates (int[] nums) {
3+
if (nums.Length == 0) return 0;
4+
if (nums.Length == 1) return 1;
5+
6+
int count = 0;
7+
for (int i = 1; i < nums.Length; i++) {
8+
if (nums[count] != nums[i]) {
9+
nums[++count] = nums[i];
10+
}
11+
}
12+
13+
return count + 1;
14+
}
15+
}

Week_01/id_7/LeetCode_283_7.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
public class Solution {
2+
public void MoveZeroes (int[] nums) {
3+
if (nums == null || nums.Length == 0 || nums.Length == 1) return;
4+
5+
int count = 0;
6+
for (int i = 0; i < nums.Length; i++) {
7+
if (nums[i] != 0) {
8+
int temp = nums[count];
9+
nums[count] = nums[i];
10+
nums[i] = temp;
11+
count++;
12+
}
13+
}
14+
}
15+
}

Week_01/id_7/LeetCode_66_7.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* @lc app=leetcode.cn id=66 lang=csharp
3+
*
4+
* [66] 加一
5+
*
6+
*/
7+
using System;
8+
9+
public class Solution {
10+
public int[] PlusOne (int[] digits) {
11+
for (int i = digits.Length - 1; i >= 0; i--) {
12+
if ((digits[i] + 1) % 10 != 0) {
13+
digits[i] += 1;
14+
return digits;
15+
} else {
16+
digits[i] = 0;
17+
}
18+
}
19+
20+
digits = new int[digits.Length + 1];
21+
digits[0] = 1;
22+
return digits;
23+
}
24+
}

Week_01/id_7/LeetCode_70_7.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
public class Solution {
2+
Dictionary<int, int> dic = new Dictionary<int, int> ();
3+
public int ClimbStairs (int n) {
4+
if (n == 1) return 1;
5+
if (n == 2) return 2;
6+
int A;
7+
if (dic.ContainsKey (n - 1)) {
8+
A = dic[n - 1];
9+
} else {
10+
A = ClimbStairs (n - 1);
11+
dic.Add (n - 1, A);
12+
}
13+
int B;
14+
if (dic.ContainsKey (n - 2)) {
15+
B = dic[n - 2];
16+
} else {
17+
B = ClimbStairs (n - 2);
18+
dic.Add (n - 2, B);
19+
}
20+
return A + B;
21+
}
22+
}

Week_01/id_7/LeetCode_88_7.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* @lc app=leetcode.cn id=88 lang=csharp
3+
*
4+
* [88] 合并两个有序数组
5+
*/
6+
using System;
7+
8+
public class Solution {
9+
public void Merge (int[] nums1, int m, int[] nums2, int n) {
10+
int p = m + n - 1, p1 = m - 1, p2 = n - 1;
11+
while (p1 >= 0 && p2 >= 0) {
12+
nums1[p--] = nums1[p1] > nums2[p2] ? nums1[p1--] : nums2[p2--];
13+
}
14+
15+
if (p2 >= 0) {
16+
Array.Copy (nums2, 0, nums1, 0, p2 + 1);
17+
}
18+
}
19+
}

0 commit comments

Comments
 (0)