From f7a51c75d8461d3912adab1fb3014bb6a014c324 Mon Sep 17 00:00:00 2001 From: defuncc Date: Sun, 21 Apr 2019 00:23:41 +0800 Subject: [PATCH 1/5] test ssh --- 24.py | 10 ++++++++++ 83.py | 11 +++++++++++ NOTE.md | 1 + 3 files changed, 22 insertions(+) create mode 100644 24.py create mode 100644 83.py create mode 100644 NOTE.md diff --git a/24.py b/24.py new file mode 100644 index 00000000..bed91010 --- /dev/null +++ b/24.py @@ -0,0 +1,10 @@ +class Solution: + def swapPairs(self, head): + dummy = pre = ListNode(0) + pre.next = head + while pre.next and pre.next.next: + a = pre.next + b = a.next + pre.next, a.next, b.next = b, b.next, a + pre = a + return dummy.next diff --git a/83.py b/83.py new file mode 100644 index 00000000..01330433 --- /dev/null +++ b/83.py @@ -0,0 +1,11 @@ +class Solution: + def deleteDuplicates(self, head: ListNode) -> ListNode: + prev = head + while(prev): + while(prev.next): + if prev.val == prev.next.val: + prev.next = prev.next.next + else: + break + prev = prev.next + return head diff --git a/NOTE.md b/NOTE.md new file mode 100644 index 00000000..c684e62f --- /dev/null +++ b/NOTE.md @@ -0,0 +1 @@ +# 学习笔记 \ No newline at end of file From 44657c5871611001dfa390bd6c06d4be0c46f800 Mon Sep 17 00:00:00 2001 From: defuncc Date: Mon, 22 Apr 2019 22:30:58 +0800 Subject: [PATCH 2/5] 'change' --- Week_01/id_19/24.py | 10 ++++++++++ Week_01/id_19/83.py | 11 +++++++++++ Week_01/id_19/README.md | 21 +++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 Week_01/id_19/24.py create mode 100644 Week_01/id_19/83.py create mode 100644 Week_01/id_19/README.md diff --git a/Week_01/id_19/24.py b/Week_01/id_19/24.py new file mode 100644 index 00000000..bed91010 --- /dev/null +++ b/Week_01/id_19/24.py @@ -0,0 +1,10 @@ +class Solution: + def swapPairs(self, head): + dummy = pre = ListNode(0) + pre.next = head + while pre.next and pre.next.next: + a = pre.next + b = a.next + pre.next, a.next, b.next = b, b.next, a + pre = a + return dummy.next diff --git a/Week_01/id_19/83.py b/Week_01/id_19/83.py new file mode 100644 index 00000000..01330433 --- /dev/null +++ b/Week_01/id_19/83.py @@ -0,0 +1,11 @@ +class Solution: + def deleteDuplicates(self, head: ListNode) -> ListNode: + prev = head + while(prev): + while(prev.next): + if prev.val == prev.next.val: + prev.next = prev.next.next + else: + break + prev = prev.next + return head diff --git a/Week_01/id_19/README.md b/Week_01/id_19/README.md new file mode 100644 index 00000000..9d475d59 --- /dev/null +++ b/Week_01/id_19/README.md @@ -0,0 +1,21 @@ +# 极客大学「算法训练营」作业提交仓库 + + +## 仓库目录结构说明 + +1. `Week_01/` 代表第一周作业提交目录,以此类推。 +2. `Week_01/id_0`代表学号为 0 的学员第一周的作业提交目录,以此类推。 +3. 每个目录下面均有一个 `NOTE.md` 文档,你可以将自己当周的学习心得以及做题过程中的思考记录在该文档中(这个不属于作业内容,是可选项)。 + +## 作业提交规则 + +1. 先将本仓库 `fork` 到自己的 GitHub 账号下。 +2. 将 `fork` 后的仓库 `clone` 到本地,然后在本地新建、修改自己的代码作业文件,**注意:** 仅允许在和自己学号对应的目录下新建或修改自己的代码作业。作业完成后,将相关代码 `push` 到自己的 GitHub 远程仓库。 +3. 提交 `Pull Request` 给本仓库,同时备注自己的学号(主要是让学员作业有一个统一留存的地方,大家可以互相学习参考)。 +4. 在当周公布作业的 issue 下面提交自己仓库中的作业链接(由于提交和接受 pull request 之间有一些时间差,所以建议提交自己仓库对应代码作业的链接),供老师统一查看及点评。 + +## 注意事项 + +1. **代码文件命名规则:**`LeetCode_题目序号_学号`,比如学号为 `0` 的学员完成 [LeetCode 的第 2 题](https://leetcode.com/problems/add-two-numbers/description/) 后,请将代码文件名保存为 `LeetCode_2_0.py` (假设你使用的是 Python 语言)。 +2. **作业公布地址:** 我们会在置顶的 issue 中公布当周的算法练习题以及其他注意事项。 +3. 如果对 Git 和 GitHub 不太了解,请参考 [Git 官方文档](https://git-scm.com/book/zh/v2) 或者极客时间的[《玩转 Git 三剑客》](https://time.geekbang.org/course/intro/145)视频课程。 From 8bb9907a01a42019b126a538c1095d7ee8748b33 Mon Sep 17 00:00:00 2001 From: defuncc Date: Sun, 28 Apr 2019 21:45:38 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E5=91=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 24.py | 10 ---------- 83.py | 11 ----------- Week_02/id_19/671.py | 12 ++++++++++++ Week_02/id_19/692.py | 11 +++++++++++ 4 files changed, 23 insertions(+), 21 deletions(-) delete mode 100644 24.py delete mode 100644 83.py create mode 100644 Week_02/id_19/671.py create mode 100644 Week_02/id_19/692.py diff --git a/24.py b/24.py deleted file mode 100644 index bed91010..00000000 --- a/24.py +++ /dev/null @@ -1,10 +0,0 @@ -class Solution: - def swapPairs(self, head): - dummy = pre = ListNode(0) - pre.next = head - while pre.next and pre.next.next: - a = pre.next - b = a.next - pre.next, a.next, b.next = b, b.next, a - pre = a - return dummy.next diff --git a/83.py b/83.py deleted file mode 100644 index 01330433..00000000 --- a/83.py +++ /dev/null @@ -1,11 +0,0 @@ -class Solution: - def deleteDuplicates(self, head: ListNode) -> ListNode: - prev = head - while(prev): - while(prev.next): - if prev.val == prev.next.val: - prev.next = prev.next.next - else: - break - prev = prev.next - return head diff --git a/Week_02/id_19/671.py b/Week_02/id_19/671.py new file mode 100644 index 00000000..25957a7d --- /dev/null +++ b/Week_02/id_19/671.py @@ -0,0 +1,12 @@ +def findSecondMinimumValue(self,root): + self.ans = float('inf') + min1 = root.val + def dfs(node): + if nod: + if min < node.val < self.ans: + self.ans = node.val + elif node.val == min1: + dfs(node.left) + dfs(node.right) + dfs(root) + return self.ans if self.ans < float('inf') else -1 diff --git a/Week_02/id_19/692.py b/Week_02/id_19/692.py new file mode 100644 index 00000000..a1eca1fc --- /dev/null +++ b/Week_02/id_19/692.py @@ -0,0 +1,11 @@ +class Solution(object): + def topKFrequent(self,words:List[str],k:int): + d = {w:0 for w in words} + for w in words: + d[w] += 1 + l = list(d.items()) + l.sort(key=lambda x:(-x[1],x[0])) + ans = [] + for i in range(k): + ans += l[i][0] + return ans From e44cd5250733d22fd3bbc58590d6a31998484440 Mon Sep 17 00:00:00 2001 From: defuncc Date: Sun, 5 May 2019 20:16:46 +0800 Subject: [PATCH 4/5] week_3 --- Week_03/id_19/104.py | 17 +++++++++++++++++ Week_03/id_19/703.py | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Week_03/id_19/104.py create mode 100644 Week_03/id_19/703.py diff --git a/Week_03/id_19/104.py b/Week_03/id_19/104.py new file mode 100644 index 00000000..f36bb139 --- /dev/null +++ b/Week_03/id_19/104.py @@ -0,0 +1,17 @@ +def maxDepth(self, root): + if not root: + return 0 + + tqueue, h = collections.deque(),0 + tqueue.append(root) + while tqueue: + nextlevel = collections.deque() + while tqueue: + front = tqueue.popleft() + if front.left: + nextlevel.append(front.left) + if front.right: + nextlevel.append(front.right) + tqueue = nextlevel + h += 1 + return h diff --git a/Week_03/id_19/703.py b/Week_03/id_19/703.py new file mode 100644 index 00000000..ce63d981 --- /dev/null +++ b/Week_03/id_19/703.py @@ -0,0 +1,23 @@ +class KthLargest(object): + + def __init__(self, k, nums): + """ + :type k: int + :type nums: List[int] + """ + nums.sort(reverse=True) + self.k = k + self.top_knums = nums[:k] + + def add(self, val): + """ + :type val: int + :rtype: int + """ + if self.k == len(self.top_knums) and val <= self.top_knums[-1]: + return self.top_knums[-1] + else: + self.top_knums.append(val) + self.top_knums.sort(reverse=True) + self.top_knums = self.top_knums[:self.k] + return self.top_knums[-1] From a60a8edd993e9f6f07b9935acca82587fd10144f Mon Sep 17 00:00:00 2001 From: defuncc Date: Sun, 12 May 2019 22:59:30 +0800 Subject: [PATCH 5/5] week_4 --- Week_04/id_19/169.py | 5 +++++ Week_04/id_19/720.py | 10 ++++++++++ 2 files changed, 15 insertions(+) create mode 100644 Week_04/id_19/169.py create mode 100644 Week_04/id_19/720.py diff --git a/Week_04/id_19/169.py b/Week_04/id_19/169.py new file mode 100644 index 00000000..8cbb5a58 --- /dev/null +++ b/Week_04/id_19/169.py @@ -0,0 +1,5 @@ +class Solution: + # @param num, a list of integers + # @return an integer + def majorityElement(self, num): + return sorted(num)[len(num)/2] diff --git a/Week_04/id_19/720.py b/Week_04/id_19/720.py new file mode 100644 index 00000000..0862ddc2 --- /dev/null +++ b/Week_04/id_19/720.py @@ -0,0 +1,10 @@ +class Solution(object): + def longestWord(self, words): + words.sort() + words_set, longest_word = set(['']), '' + for word in words: + if word[:-1] in words_set: + words_set.add(word) + if len(word) > len(longest_word): + longest_word = word + return longest_word