diff --git a/.idea/algorithm.iml b/.idea/algorithm.iml
new file mode 100644
index 00000000..24643cc3
--- /dev/null
+++ b/.idea/algorithm.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..2ba6d76a
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 00000000..141d4271
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1560998571532
+
+
+ 1560998571532
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/NOTE.md b/NOTE.md
new file mode 100644
index 00000000..107ea7d6
--- /dev/null
+++ b/NOTE.md
@@ -0,0 +1 @@
+# 学习笔记
diff --git a/Week_01/id_20/NOTE.md b/Week_01/id_20/NOTE.md
index 107ea7d6..7cde757d 100644
--- a/Week_01/id_20/NOTE.md
+++ b/Week_01/id_20/NOTE.md
@@ -1 +1,4 @@
-# 学习笔记
+# 学习笔记
+
+Hello world 算法联系生活 确实可以解决生活好多逻辑问题。挺有意思。
+在寻找最优解,确实不断开阔思路。
diff --git a/Week_01/id_20/leetcode_189_20.py b/Week_01/id_20/leetcode_189_20.py
new file mode 100644
index 00000000..9bc74778
--- /dev/null
+++ b/Week_01/id_20/leetcode_189_20.py
@@ -0,0 +1,11 @@
+class Solution(object):
+ def rotate(self, nums, k):
+ """
+ :type nums: List[int]
+ :type k: int
+ :rtype: None Do not return anything, modify nums in-place instead.
+ """
+ k=k%len(nums)
+ t=nums[-k:]
+ nums[k:]=nums[:-k]
+ nums[:k]=t
diff --git a/Week_01/id_20/leetcode_189_20_02.js b/Week_01/id_20/leetcode_189_20_02.js
new file mode 100644
index 00000000..bb28d38b
--- /dev/null
+++ b/Week_01/id_20/leetcode_189_20_02.js
@@ -0,0 +1,15 @@
+/**
+ * @param {number[]} nums
+ * @param {number} k
+ * @return {void} Do not return anything, modify nums in-place instead.
+
+ 先截取 把操作的数组个数截取 下来 拼接原数组
+ 因为数组是一个闭环的容器 只要是单个出栈 入栈 就是一个循环问题。 可以批次处理 看成一体
+ */
+var rotate = function(nums, k) {
+ var len = nums.length;
+ for (var i=len-k;i= 0){
+ return [ map[target - nums[i] ], i]
+ }
+ map[nums[i]] = i;
+ }
+
+};
\ No newline at end of file
diff --git a/Week_03/id_20/leetcode_104_20.js b/Week_03/id_20/leetcode_104_20.js
new file mode 100644
index 00000000..d29aca9a
--- /dev/null
+++ b/Week_03/id_20/leetcode_104_20.js
@@ -0,0 +1,12 @@
+/*
+如果是根目录 循环递归 在左右分支中 求出最大值 最后加一
+* */
+
+var maxDepth = function(root) {
+ if (root === null) {
+ return 0;
+ }
+
+ return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
+};
+
diff --git a/Week_03/id_20/leetcode_429_20.js b/Week_03/id_20/leetcode_429_20.js
new file mode 100644
index 00000000..cfaa4b18
--- /dev/null
+++ b/Week_03/id_20/leetcode_429_20.js
@@ -0,0 +1,14 @@
+var levelOrder = function(root) {
+ let result = [];
+ function bfs(node, level) {
+ if (!node) return;
+ if (!result[level]) result[level] = [node.val];
+ else result[level].push(node.val);
+ level++;
+ for (let c in node.children) {
+ bfs(node.children[c], level);
+ }
+ }
+ bfs(root, 0);
+ return result;
+};
\ No newline at end of file
diff --git a/Week_04/id_20/.idea/id_20.iml b/Week_04/id_20/.idea/id_20.iml
new file mode 100644
index 00000000..24643cc3
--- /dev/null
+++ b/Week_04/id_20/.idea/id_20.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Week_04/id_20/.idea/modules.xml b/Week_04/id_20/.idea/modules.xml
new file mode 100644
index 00000000..f8a6f13b
--- /dev/null
+++ b/Week_04/id_20/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Week_04/id_20/.idea/workspace.xml b/Week_04/id_20/.idea/workspace.xml
new file mode 100644
index 00000000..c05060c7
--- /dev/null
+++ b/Week_04/id_20/.idea/workspace.xml
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1562047896763
+
+
+ 1562047896763
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Week_04/id_20/leetcode_169_20.js b/Week_04/id_20/leetcode_169_20.js
new file mode 100644
index 00000000..8427cad9
--- /dev/null
+++ b/Week_04/id_20/leetcode_169_20.js
@@ -0,0 +1,16 @@
+var majorityElement = function(nums) {
+ let half_len = Math.ceil(nums.length/2)
+ let obj = {}
+ for(let i=0;i= half_len){
+ return key
+ }
+ }
+};
diff --git a/Week_04/id_20/leetcode_70_20.js b/Week_04/id_20/leetcode_70_20.js
new file mode 100644
index 00000000..31ebd9e0
--- /dev/null
+++ b/Week_04/id_20/leetcode_70_20.js
@@ -0,0 +1,19 @@
+var climbStairs = function(n) {
+
+ if(n===0||n===1){
+ return 1
+ }else if(n===2){
+ return 2
+ }else{
+ let x = 1,
+ y = 2,
+ result = 0;
+ for(let i=3;i<=n;i++){
+ result = x + y;
+ x = y;
+ y = result;
+
+ }
+ return result
+ }
+};
diff --git a/test.txt b/test.txt
new file mode 100644
index 00000000..4ba7746e
--- /dev/null
+++ b/test.txt
@@ -0,0 +1 @@
+git ύ