Skip to content

Commit 36d5103

Browse files
committed
week01_homewokr
1 parent 0fd6bbe commit 36d5103

15 files changed

Lines changed: 299 additions & 1 deletion

.DS_Store

6 KB
Binary file not shown.

.idea/algorithm010.iml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Week01/.idea/Week01.iml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Week01/.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Week01/.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Week01/1-两数之和.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
2+
#
3+
# 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
4+
#
5+
#
6+
#
7+
# 示例:
8+
#
9+
# 给定 nums = [2, 7, 11, 15], target = 9
10+
#
11+
# 因为 nums[0] + nums[1] = 2 + 7 = 9
12+
# 所以返回 [0, 1]
13+
#
14+
# Related Topics 数组 哈希表
15+
16+
17+
# leetcode submit region begin(Prohibit modification and deletion)
18+
class Solution:
19+
def twoSum(self, nums: List[int], target: int) -> List[int]:
20+
dict = {}
21+
for i, n in enumerate(nums):
22+
dict[n] = i
23+
for i, n in enumerate(nums):
24+
if target - n in dict and i != dict[target - n]:
25+
return [dict[target - n], i]
26+
27+
# leetcode submit region end(Prohibit modification and deletion)

Week01/189-旋转数组.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
2+
#
3+
# 示例 1:
4+
#
5+
# 输入: [1,2,3,4,5,6,7] 和 k = 3
6+
# 输出: [5,6,7,1,2,3,4]
7+
# 解释:
8+
# 向右旋转 1 步: [7,1,2,3,4,5,6]
9+
# 向右旋转 2 步: [6,7,1,2,3,4,5]
10+
# 向右旋转 3 步: [5,6,7,1,2,3,4]
11+
#
12+
#
13+
# 示例 2:
14+
#
15+
# 输入: [-1,-100,3,99] 和 k = 2
16+
# 输出: [3,99,-1,-100]
17+
# 解释:
18+
# 向右旋转 1 步: [99,-1,-100,3]
19+
# 向右旋转 2 步: [3,99,-1,-100]
20+
#
21+
# 说明:
22+
#
23+
#
24+
# 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
25+
# 要求使用空间复杂度为 O(1) 的 原地 算法。
26+
#
27+
# Related Topics 数组
28+
29+
30+
# leetcode submit region begin(Prohibit modification and deletion)
31+
class Solution:
32+
def rotate(self, nums: List[int], k: int) -> None:
33+
"""
34+
Do not return anything, modify nums in-place instead.
35+
"""
36+
n = len(nums)
37+
k = k % n
38+
nums[:] = nums[n-k:] + nums[:n-k]
39+
# leetcode submit region end(Prohibit modification and deletion)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
2+
#
3+
#
4+
#
5+
# 示例:
6+
#
7+
# 输入:1->2->4, 1->3->4
8+
# 输出:1->1->2->3->4->4
9+
#
10+
# Related Topics 链表
11+
12+
13+
# leetcode submit region begin(Prohibit modification and deletion)
14+
# Definition for singly-linked list.
15+
class ListNode:
16+
def __init__(self, val=0, next=None):
17+
self.val = val
18+
self.next = next
19+
20+
21+
class Solution:
22+
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
23+
if not l1 or not l2:
24+
return l1 or l2
25+
if l1.val < l2.val:
26+
l1.next = self.mergeTwoLists(l1.next, l2)
27+
return l1
28+
else:
29+
l2.next = self.mergeTwoLists(l1, l2.next)
30+
return l2
31+
32+
# leetcode submit region end(Prohibit modification and deletion)

0 commit comments

Comments
 (0)