From 001e61492cb7de57af1bd62c31bcb7a958d29613 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Thu, 30 May 2019 19:12:31 +0800 Subject: [PATCH 01/16] add aboutme --- ABOUTME.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 ABOUTME.md diff --git a/ABOUTME.md b/ABOUTME.md new file mode 100644 index 00000000..9ca29877 --- /dev/null +++ b/ABOUTME.md @@ -0,0 +1,13 @@ +# 关于我 + +## 关于自己 +大家好,我是刘剑波,坐标江苏省南通市崇川区,性格内向,希望在算法训练营与优秀的大家一起学习,也希望培养起刻意练习的习惯,持续学习。 +## 关于工作 +之前在中威科技是一名产品经理,负责公司网站群产品的功能升级和大数据产品的落地,目前刚刚转岗到星云网格,负责框架开发。 +## 工作之外 +平时骑车上班,每天大约20公里,有时候看看书,有时候看看电影,喜欢纪录频道。 +## 想跟你分享 +如果给我10分钟,我可以跟同学们分享关于xxxx。(如果在技术学习、职业发展,或其他个人感兴趣的领域有希望跟同学们分享的内容,可以告诉大家。) +关于技术,我一直都扮演着追逐者的角色。从Java的各种框架到python、golang,虽然能够完成工作。 +职业发展方面,我从测试到开发,从主程到负责人,虽然公司给予的职位是产品经理,可是随着时间的推移,我觉得我离那个title越来越远。前有乔布斯、张小龙后有池大大,产品人最重要的就是创新和执行力。创新的基础就是扎实的基本功,只有基础扎实才能明白前辈的优点和不足,从而取长补短。有了想法还只是空中楼阁,按照想法动手去做同样重要,产品都是在不断试错中诞生的,从来没有一次成型。 +关于个人兴趣,我想推荐一部电影:死亡诗社,电影讲述的是传统教育背景下一位疯子般的老师不断鼓励学生遵从内心、自我思考、实现自己的梦想,电影的结尾让我不禁落泪。 From f11239e823b66a369ac18ddc49cf7cfbf5c00f3b Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Thu, 30 May 2019 19:27:40 +0800 Subject: [PATCH 02/16] update aboutme --- ABOUTME.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ABOUTME.md b/ABOUTME.md index 9ca29877..16596e02 100644 --- a/ABOUTME.md +++ b/ABOUTME.md @@ -3,11 +3,8 @@ ## 关于自己 大家好,我是刘剑波,坐标江苏省南通市崇川区,性格内向,希望在算法训练营与优秀的大家一起学习,也希望培养起刻意练习的习惯,持续学习。 ## 关于工作 -之前在中威科技是一名产品经理,负责公司网站群产品的功能升级和大数据产品的落地,目前刚刚转岗到星云网格,负责框架开发。 +目前从事Java开发工作,主要负责公司网站群产品的功能升级和大数据产品的落地。 ## 工作之外 平时骑车上班,每天大约20公里,有时候看看书,有时候看看电影,喜欢纪录频道。 ## 想跟你分享 -如果给我10分钟,我可以跟同学们分享关于xxxx。(如果在技术学习、职业发展,或其他个人感兴趣的领域有希望跟同学们分享的内容,可以告诉大家。) -关于技术,我一直都扮演着追逐者的角色。从Java的各种框架到python、golang,虽然能够完成工作。 -职业发展方面,我从测试到开发,从主程到负责人,虽然公司给予的职位是产品经理,可是随着时间的推移,我觉得我离那个title越来越远。前有乔布斯、张小龙后有池大大,产品人最重要的就是创新和执行力。创新的基础就是扎实的基本功,只有基础扎实才能明白前辈的优点和不足,从而取长补短。有了想法还只是空中楼阁,按照想法动手去做同样重要,产品都是在不断试错中诞生的,从来没有一次成型。 -关于个人兴趣,我想推荐一部电影:死亡诗社,电影讲述的是传统教育背景下一位疯子般的老师不断鼓励学生遵从内心、自我思考、实现自己的梦想,电影的结尾让我不禁落泪。 +如果给我10分钟,我希望跟同学们分享关于我职业发展中的一些思考。 \ No newline at end of file From c35e6901161dab9e606ebca1e22aca35c0b75edc Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Tue, 4 Jun 2019 21:59:07 +0800 Subject: [PATCH 03/16] leetcode 26 commit --- Week_01/id_38/LeetCode_26_038.java | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Week_01/id_38/LeetCode_26_038.java diff --git a/Week_01/id_38/LeetCode_26_038.java b/Week_01/id_38/LeetCode_26_038.java new file mode 100644 index 00000000..37232ef3 --- /dev/null +++ b/Week_01/id_38/LeetCode_26_038.java @@ -0,0 +1,69 @@ +/* + * @lc app=leetcode.cn id=26 lang=java + * + * [26] 删除排序数组中的重复项 + * 要点1:有序数组 + * 要点2:原地删除 + */ +class LeetCode_26_038 { + + /** + * 不考虑原地删除的情况,只求新数组的长度 + * 写出来发现真是又臭又长 + */ + public int removeDuplicates2(int[] nums) { + // 检查数据 + if (nums.length == 0) { + return 0; + } + + // 处理 + int tmp = nums[0]; + int[] newnums = new int[nums.length]; + newnums[0] = tmp; + int newnumsLength = 1; + for (int i = 1; i < nums.length; ++i) { + if (tmp != nums[i]) { + newnums[newnumsLength] = nums[i]; + newnumsLength++; + } + tmp = nums[i]; + } + + for(int i = 0; i < newnums.length; ++i) { + System.out.print(newnums[i] + ","); + } + + return newnumsLength; + } + + public int removeDuplicates(int[] nums) { + // check valid + if (nums.length == 0) { + return 0; + } + // process + int i = 0; + for (int j = 1; j < nums.length; ++j) { + if (nums[i] != nums[j]) { + i++; + nums[i] = nums[j]; + } + } + return i+1; + } + + public static void main(String[] args) { + LeetCode_26_038 testCode_26_038 = new LeetCode_26_038(); + int[] nums = new int[]{1, 1, 2, 2, 3}; + int newnumsLength = testCode_26_038.removeDuplicates2(nums); + System.err.println(newnumsLength); + + int i = 0; + for (; i < 5; ++i) { + System.out.println("i=" + i); + } + System.out.println(" at last i=" + i); + } +} + From 347d8907ed512e7b1163c64e74c4eee407fae0fb Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Tue, 4 Jun 2019 22:40:03 +0800 Subject: [PATCH 04/16] update leetcode 26 --- Week_01/id_38/LeetCode_26_038.java | 51 ++++-------------------------- 1 file changed, 7 insertions(+), 44 deletions(-) diff --git a/Week_01/id_38/LeetCode_26_038.java b/Week_01/id_38/LeetCode_26_038.java index 37232ef3..1ce7e4ac 100644 --- a/Week_01/id_38/LeetCode_26_038.java +++ b/Week_01/id_38/LeetCode_26_038.java @@ -7,63 +7,26 @@ */ class LeetCode_26_038 { - /** - * 不考虑原地删除的情况,只求新数组的长度 - * 写出来发现真是又臭又长 - */ - public int removeDuplicates2(int[] nums) { - // 检查数据 - if (nums.length == 0) { - return 0; - } - - // 处理 - int tmp = nums[0]; - int[] newnums = new int[nums.length]; - newnums[0] = tmp; - int newnumsLength = 1; - for (int i = 1; i < nums.length; ++i) { - if (tmp != nums[i]) { - newnums[newnumsLength] = nums[i]; - newnumsLength++; - } - tmp = nums[i]; - } - - for(int i = 0; i < newnums.length; ++i) { - System.out.print(newnums[i] + ","); - } - - return newnumsLength; - } - public int removeDuplicates(int[] nums) { // check valid - if (nums.length == 0) { - return 0; - } - // process + if (nums.length == 0) return 0; + + //process int i = 0; for (int j = 1; j < nums.length; ++j) { if (nums[i] != nums[j]) { i++; nums[i] = nums[j]; - } + } } - return i+1; + + return i + 1; } public static void main(String[] args) { LeetCode_26_038 testCode_26_038 = new LeetCode_26_038(); int[] nums = new int[]{1, 1, 2, 2, 3}; - int newnumsLength = testCode_26_038.removeDuplicates2(nums); - System.err.println(newnumsLength); - - int i = 0; - for (; i < 5; ++i) { - System.out.println("i=" + i); - } - System.out.println(" at last i=" + i); + System.out.println(testCode_26_038.removeDuplicates2(nums);); } } From e0ad8252f7fdbbf907d8997a4626d411e98a4096 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Tue, 4 Jun 2019 22:44:11 +0800 Subject: [PATCH 05/16] add commit --- Week_01/id_38/LeetCode_26_038.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Week_01/id_38/LeetCode_26_038.java b/Week_01/id_38/LeetCode_26_038.java index 1ce7e4ac..d8ab0a20 100644 --- a/Week_01/id_38/LeetCode_26_038.java +++ b/Week_01/id_38/LeetCode_26_038.java @@ -7,6 +7,12 @@ */ class LeetCode_26_038 { + /** + * 时间复杂度:O(n) + * 空间复杂度:不需要额外空间 + * @param nums + * @return + */ public int removeDuplicates(int[] nums) { // check valid if (nums.length == 0) return 0; From 39a4fa74595c9f6c9c9f732ffaa7b4762285d32c Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Wed, 5 Jun 2019 21:50:13 +0800 Subject: [PATCH 06/16] leetcode 15 commit --- Week_01/id_38/LeetCode_15_038.java | 46 ++++++++++++++++++++++++++++++ Week_01/id_38/LeetCode_26_038.java | 9 +++--- 2 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 Week_01/id_38/LeetCode_15_038.java diff --git a/Week_01/id_38/LeetCode_15_038.java b/Week_01/id_38/LeetCode_15_038.java new file mode 100644 index 00000000..7149d2f6 --- /dev/null +++ b/Week_01/id_38/LeetCode_15_038.java @@ -0,0 +1,46 @@ +import java.util.*; + +/* + * @lc app=leetcode.cn id=15 lang=java + * + * [15] 三数之和 + * 要点1:答案中不包含重复的三元组 + */ +class LeetCode_15_038 { + /** + * 暴力破解 + * 时间:O(n^2) + * 结果:WA + * 原因:结果中出现了重复的三元组 + * @param nums + * @return + */ + public List> threeSum(int[] nums) { + if (nums.length < 3) return null; + Arrays.sort(nums); + List> result = new ArrayList>(); + + for (int i = 0; i < nums.length - 2; ++i) { + for (int j = i + 1; j < nums.length - 1; ++j) { + for (int k = j + 1; k < nums.length; ++k) { + if (nums[i] + nums[j] + nums[k] == 0) { + List hitnums = new ArrayList(); + hitnums.add(nums[i]); + hitnums.add(nums[j]); + hitnums.add(nums[k]); + result.add(hitnums); + } + } + } + } + + return result; + } + + public static void main(String[] args) { + LeetCode_15_038 testCode_15_038 = new LeetCode_15_038(); + int[] nums = new int[]{-1,0,1,2,-1,-4}; + System.out.println(testCode_15_038.threeSum(nums)); + } +} + diff --git a/Week_01/id_38/LeetCode_26_038.java b/Week_01/id_38/LeetCode_26_038.java index d8ab0a20..b2b73cf1 100644 --- a/Week_01/id_38/LeetCode_26_038.java +++ b/Week_01/id_38/LeetCode_26_038.java @@ -17,22 +17,21 @@ public int removeDuplicates(int[] nums) { // check valid if (nums.length == 0) return 0; - //process + // process int i = 0; - for (int j = 1; j < nums.length; ++j) { + for (int j = 1; j < nums.length; ++j){ if (nums[i] != nums[j]) { i++; nums[i] = nums[j]; } } - return i + 1; } public static void main(String[] args) { LeetCode_26_038 testCode_26_038 = new LeetCode_26_038(); - int[] nums = new int[]{1, 1, 2, 2, 3}; - System.out.println(testCode_26_038.removeDuplicates2(nums);); + int[] nums = new int[]{1, 1, 2, 2, 4, 5, 7}; + System.out.println(testCode_26_038.removeDuplicates(nums)); } } From d56b8745bf4c03d49420ba5352499bb7504bdac8 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Wed, 5 Jun 2019 22:53:43 +0800 Subject: [PATCH 07/16] leetcode 242 --- Week_01/id_38/LeetCode_15_038.java | 36 +++++++++++++++++++---------- Week_01/id_38/LeetCode_242_038.java | 33 ++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 12 deletions(-) create mode 100644 Week_01/id_38/LeetCode_242_038.java diff --git a/Week_01/id_38/LeetCode_15_038.java b/Week_01/id_38/LeetCode_15_038.java index 7149d2f6..e279e8c9 100644 --- a/Week_01/id_38/LeetCode_15_038.java +++ b/Week_01/id_38/LeetCode_15_038.java @@ -18,25 +18,37 @@ class LeetCode_15_038 { public List> threeSum(int[] nums) { if (nums.length < 3) return null; Arrays.sort(nums); - List> result = new ArrayList>(); - for (int i = 0; i < nums.length - 2; ++i) { - for (int j = i + 1; j < nums.length - 1; ++j) { - for (int k = j + 1; k < nums.length; ++k) { - if (nums[i] + nums[j] + nums[k] == 0) { - List hitnums = new ArrayList(); - hitnums.add(nums[i]); - hitnums.add(nums[j]); - hitnums.add(nums[k]); - result.add(hitnums); + List> result = new ArrayList<>(); + + if (nums[0] <= 0 && nums[nums.length - 1] >= 0) { + for (int i = 0; i < nums.length - 2; ++i) { + if (i > 0 && nums[i-1] == nums[i]) continue; + + int l = i +1, r = nums.length - 1; + while(l < r){ + if(nums[r] > -nums[i]-nums[l]){ + while(l < r && nums[r-1] == nums[r]) r--; //右指针去重 + r--; + } + else if(nums[r] < -nums[i]-nums[l]){ + while(l < r && nums[l+1] == nums[l]) l++; //左指针去重 + l++; + } + else{ + result.add(Arrays.asList(nums[i],nums[l],nums[r])); + while(l < r && nums[r-1] == nums[r]) r--; //左指针去重 + while(l < r && nums[l+1] == nums[l]) l++; //右指针去重 + r--; + l++; } } } - } + } return result; } - + public static void main(String[] args) { LeetCode_15_038 testCode_15_038 = new LeetCode_15_038(); int[] nums = new int[]{-1,0,1,2,-1,-4}; diff --git a/Week_01/id_38/LeetCode_242_038.java b/Week_01/id_38/LeetCode_242_038.java new file mode 100644 index 00000000..370f18f9 --- /dev/null +++ b/Week_01/id_38/LeetCode_242_038.java @@ -0,0 +1,33 @@ +/* + * @lc app=leetcode.cn id=242 lang=java + * + * [242] 有效的字母异位词 + * 要点1:答案中不包含重复的三元组 + */ +class LeetCode_242_038 { + + /** + * WA + * 原因:ac 和 bb 的情况下 num == 0,需要判断所有字符出现次数相同 + * @param s + * @param t + * @return + */ + public boolean isAnagram(String s, String t) { + if (s.length() != t.length()) return false; + + int num = 0; + for(int i = 0; i< s.length(); ++i) { + num += s.charAt(i) - 'a'; + num -= t.charAt(i) - 'a'; + } + + return num == 0 ? true : false; + } + + public static void main(String[] args) { + LeetCode_242_038 testCode_242_038 = new LeetCode_242_038(); + System.out.println(testCode_242_038.isAnagram("aaab", "baaa")); + } +} + From c30b241e84de545e8fb212f4c252f63a0b67c387 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Wed, 5 Jun 2019 22:58:33 +0800 Subject: [PATCH 08/16] update leetcode 242 --- Week_01/id_38/LeetCode_242_038.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Week_01/id_38/LeetCode_242_038.java b/Week_01/id_38/LeetCode_242_038.java index 370f18f9..0ac499b7 100644 --- a/Week_01/id_38/LeetCode_242_038.java +++ b/Week_01/id_38/LeetCode_242_038.java @@ -16,13 +16,17 @@ class LeetCode_242_038 { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; - int num = 0; - for(int i = 0; i< s.length(); ++i) { - num += s.charAt(i) - 'a'; - num -= t.charAt(i) - 'a'; + int[] hash = new int[26]; + for(int i = 0; i < s.length(); ++i) { + hash[s.charAt(i) - 'a']++; + hash[t.charAt(i) - 'a']--; + } + + for (int i = 0; i < hash.length; ++i) { + if (hash[i] != 0) return false; } - return num == 0 ? true : false; + return true; } public static void main(String[] args) { From 6d2431960e8755396ee74a7148edda4676602902 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Fri, 7 Jun 2019 17:37:11 +0800 Subject: [PATCH 09/16] about me --- ABOUTME.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/ABOUTME.md b/ABOUTME.md index 16596e02..852c898a 100644 --- a/ABOUTME.md +++ b/ABOUTME.md @@ -1,10 +1,6 @@ # 关于我 -## 关于自己 -大家好,我是刘剑波,坐标江苏省南通市崇川区,性格内向,希望在算法训练营与优秀的大家一起学习,也希望培养起刻意练习的习惯,持续学习。 -## 关于工作 -目前从事Java开发工作,主要负责公司网站群产品的功能升级和大数据产品的落地。 -## 工作之外 -平时骑车上班,每天大约20公里,有时候看看书,有时候看看电影,喜欢纪录频道。 -## 想跟你分享 -如果给我10分钟,我希望跟同学们分享关于我职业发展中的一些思考。 \ No newline at end of file +【关于自己】:大家好,我是刘剑波,坐标江苏省南通市崇川区,性格内向,希望在算法训练营与优秀的大家一起学习,也希望培养起刻意练习的习惯,持续学习。 +【关于工作】:目前从事Java开发工作,主要负责公司网站群产品的功能升级和大数据产品的落地。 +【工作之外】:平时骑车上班,每天大约20公里,有时候看看书,有时候看看电影,喜欢纪录频道。 +【想跟你分享】:如果给我10分钟,我希望跟同学们分享关于我职业发展中的一些思考。 \ No newline at end of file From b387a73bf6e4b2444c636eb287d8cf8d67ef2095 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 18:44:10 +0800 Subject: [PATCH 10/16] homework --- Week_01/id_38/LeetCode_15_038.java | 16 +--- Week_01/id_38/LeetCode_242_038.java | 7 -- Week_01/id_38/README.md | 84 ++++++++++++++++++ ...346\263\225\346\200\273\347\273\223.xmind" | Bin 0 -> 87202 bytes 4 files changed, 88 insertions(+), 19 deletions(-) create mode 100644 Week_01/id_38/README.md create mode 100644 "Week_01/id_38/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\346\200\273\347\273\223.xmind" diff --git a/Week_01/id_38/LeetCode_15_038.java b/Week_01/id_38/LeetCode_15_038.java index e279e8c9..4aac56c0 100644 --- a/Week_01/id_38/LeetCode_15_038.java +++ b/Week_01/id_38/LeetCode_15_038.java @@ -7,14 +7,6 @@ * 要点1:答案中不包含重复的三元组 */ class LeetCode_15_038 { - /** - * 暴力破解 - * 时间:O(n^2) - * 结果:WA - * 原因:结果中出现了重复的三元组 - * @param nums - * @return - */ public List> threeSum(int[] nums) { if (nums.length < 3) return null; Arrays.sort(nums); @@ -28,17 +20,17 @@ public List> threeSum(int[] nums) { int l = i +1, r = nums.length - 1; while(l < r){ if(nums[r] > -nums[i]-nums[l]){ - while(l < r && nums[r-1] == nums[r]) r--; //右指针去重 + while(l < r && nums[r-1] == nums[r]) r--; r--; } else if(nums[r] < -nums[i]-nums[l]){ - while(l < r && nums[l+1] == nums[l]) l++; //左指针去重 + while(l < r && nums[l+1] == nums[l]) l++; l++; } else{ result.add(Arrays.asList(nums[i],nums[l],nums[r])); - while(l < r && nums[r-1] == nums[r]) r--; //左指针去重 - while(l < r && nums[l+1] == nums[l]) l++; //右指针去重 + while(l < r && nums[r-1] == nums[r]) r--; + while(l < r && nums[l+1] == nums[l]) l++; r--; l++; } diff --git a/Week_01/id_38/LeetCode_242_038.java b/Week_01/id_38/LeetCode_242_038.java index 0ac499b7..80b73725 100644 --- a/Week_01/id_38/LeetCode_242_038.java +++ b/Week_01/id_38/LeetCode_242_038.java @@ -6,13 +6,6 @@ */ class LeetCode_242_038 { - /** - * WA - * 原因:ac 和 bb 的情况下 num == 0,需要判断所有字符出现次数相同 - * @param s - * @param t - * @return - */ public boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; diff --git a/Week_01/id_38/README.md b/Week_01/id_38/README.md new file mode 100644 index 00000000..b8709e2e --- /dev/null +++ b/Week_01/id_38/README.md @@ -0,0 +1,84 @@ +# 学习笔记 + +## 第一周题目 +--- +### 数组、链表 + -[ ] [26. 删除排序数组中的重复项 【简单】](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) + + -[x] [189. 旋转数组【简单】](https://leetcode-cn.com/problems/rotate-array/) + +[21. 合并两个有序链表【简单】](https://leetcode-cn.com/problems/merge-two-sorted-lists/) + +[88. 合并两个有序数组【简单】](https://leetcode-cn.com/problems/merge-sorted-array/) + +[24. 两两交换链表中的节点【中等】](https://leetcode-cn.com/problems/swap-nodes-in-pairs/) + +[15. 三数之和【中等】](https://leetcode-cn.com/problems/3sum/) + +--- + +### Map & Set +[242. 有效的字母异位词【简单】](https://leetcode-cn.com/problems/valid-anagram/) + +[49. 字母异位词分组【中等】](https://leetcode-cn.com/problems/group-anagrams/) + +--- + +### 堆栈、队列 + +[1047. 删除字符串中的所有相邻重复项【简单】](https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/) + +[1021. 删除最外层的括号【简单】](https://leetcode-cn.com/problems/remove-outermost-parentheses/) + +[84. 柱状图中最大的矩形【困难】](https://leetcode.com/problems/largest-rectangle-in-histogram/) + +[42. 接雨水【困难】](https://leetcode.com/problems/trapping-rain-water/) + +--- + +### 二分查找 + +[441. 排列硬币【简单】](https://leetcode-cn.com/problems/arranging-coins/) + +[50. Pow(x, n)【中等】](https://leetcode-cn.com/problems/powx-n/) + +[174. 地下城游戏【困难】](https://leetcode-cn.com/problems/dungeon-game/) + + +--- + +### 递归 + +[104. 二叉树的最大深度【简单】](https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/) + +[101. 对称二叉树【简单】](https://leetcode-cn.com/problems/symmetric-tree/) + +[111. 二叉树的最小深度【简单】](https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/) + +[783. 二叉搜索树结点最小距离【简单】](https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/) + +[257. 二叉树的所有路径【简单】](https://leetcode-cn.com/problems/binary-tree-paths/) + +[938. 二叉搜索树的范围和【简单】](https://leetcode-cn.com/problems/range-sum-of-bst/) + +[236. 二叉树的最近公共祖先【中等】](https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/) + +## 解题笔记 + +### 15.三数之和 + +#### 读题 +- +- 要点1:答案中不包含重复的三元组 + + + +### 242.有效字母的异位词 + +#### 读题 +- 给定两个字符串,字符串中每个字母出现的次数相同,则两词互为异位词 + +#### 解题思路 + 1.将两词排序,然后判断两词是否相同 + + 2.使用 \ No newline at end of file diff --git "a/Week_01/id_38/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\346\200\273\347\273\223.xmind" "b/Week_01/id_38/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\346\200\273\347\273\223.xmind" new file mode 100644 index 0000000000000000000000000000000000000000..13ad04075fb436022249d7771dc9717e28e924d7 GIT binary patch literal 87202 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 literal 0 HcmV?d00001 From e0cbc132d21ec70b72c2abb9394f3af651ed84fc Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 19:52:30 +0800 Subject: [PATCH 11/16] homework --- Week_01/id_38/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Week_01/id_38/README.md b/Week_01/id_38/README.md index b8709e2e..503cfe82 100644 --- a/Week_01/id_38/README.md +++ b/Week_01/id_38/README.md @@ -3,17 +3,17 @@ ## 第一周题目 --- ### 数组、链表 - -[ ] [26. 删除排序数组中的重复项 【简单】](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) + :white_check_mark: 【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) - -[x] [189. 旋转数组【简单】](https://leetcode-cn.com/problems/rotate-array/) +【简单】[189. 旋转数组](https://leetcode-cn.com/problems/rotate-array/) -[21. 合并两个有序链表【简单】](https://leetcode-cn.com/problems/merge-two-sorted-lists/) +【简单】[21. 合并两个有序链表](https://leetcode-cn.com/problems/merge-two-sorted-lists/) -[88. 合并两个有序数组【简单】](https://leetcode-cn.com/problems/merge-sorted-array/) +【简单】[88. 合并两个有序数组](https://leetcode-cn.com/problems/merge-sorted-array/) -[24. 两两交换链表中的节点【中等】](https://leetcode-cn.com/problems/swap-nodes-in-pairs/) +【中等】[24. 两两交换链表中的节点](https://leetcode-cn.com/problems/swap-nodes-in-pairs/) -[15. 三数之和【中等】](https://leetcode-cn.com/problems/3sum/) +【中等】[15. 三数之和](https://leetcode-cn.com/problems/3sum/) --- From 81a60d7754831531aa48217c16a1304675f3aaca Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 19:54:10 +0800 Subject: [PATCH 12/16] homework --- Week_01/id_38/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Week_01/id_38/README.md b/Week_01/id_38/README.md index 503cfe82..f98b7a40 100644 --- a/Week_01/id_38/README.md +++ b/Week_01/id_38/README.md @@ -3,7 +3,7 @@ ## 第一周题目 --- ### 数组、链表 - :white_check_mark: 【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) + :white_check_mark: 【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) 【简单】[189. 旋转数组](https://leetcode-cn.com/problems/rotate-array/) From 35d7ae88a25a0b2fda396b607bd01d925ea53ba8 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 19:56:24 +0800 Subject: [PATCH 13/16] homework --- Week_01/id_38/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Week_01/id_38/README.md b/Week_01/id_38/README.md index f98b7a40..2a2f47c3 100644 --- a/Week_01/id_38/README.md +++ b/Week_01/id_38/README.md @@ -3,7 +3,7 @@ ## 第一周题目 --- ### 数组、链表 - :white_check_mark: 【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) + :white_check_mark: :star: 【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) 【简单】[189. 旋转数组](https://leetcode-cn.com/problems/rotate-array/) From 72dd2fedad22c011ddac79ea3767cb0db0ebc32e Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 19:59:27 +0800 Subject: [PATCH 14/16] homework --- Week_01/id_38/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Week_01/id_38/README.md b/Week_01/id_38/README.md index 2a2f47c3..2e94c73e 100644 --- a/Week_01/id_38/README.md +++ b/Week_01/id_38/README.md @@ -3,7 +3,7 @@ ## 第一周题目 --- ### 数组、链表 - :white_check_mark: :star: 【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) +【简单】[26. 删除排序数组中的重复项 ](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/) 【简单】[189. 旋转数组](https://leetcode-cn.com/problems/rotate-array/) From 00d6b4918e973118673892f56ca3db1ea08eb0a4 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 20:00:32 +0800 Subject: [PATCH 15/16] homework --- Week_01/id_38/README.md | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/Week_01/id_38/README.md b/Week_01/id_38/README.md index 2e94c73e..b11159e4 100644 --- a/Week_01/id_38/README.md +++ b/Week_01/id_38/README.md @@ -63,22 +63,3 @@ [236. 二叉树的最近公共祖先【中等】](https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/) -## 解题笔记 - -### 15.三数之和 - -#### 读题 -- -- 要点1:答案中不包含重复的三元组 - - - -### 242.有效字母的异位词 - -#### 读题 -- 给定两个字符串,字符串中每个字母出现的次数相同,则两词互为异位词 - -#### 解题思路 - 1.将两词排序,然后判断两词是否相同 - - 2.使用 \ No newline at end of file From 6ed12f6e8bd03db45fe75fde09655a39c4189663 Mon Sep 17 00:00:00 2001 From: jianbo liu Date: Sun, 9 Jun 2019 20:56:27 +0800 Subject: [PATCH 16/16] leetcode 50 --- Week_01/id_38/LeetCode_50_038.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Week_01/id_38/LeetCode_50_038.java diff --git a/Week_01/id_38/LeetCode_50_038.java b/Week_01/id_38/LeetCode_50_038.java new file mode 100644 index 00000000..47e134b0 --- /dev/null +++ b/Week_01/id_38/LeetCode_50_038.java @@ -0,0 +1,24 @@ +/* + * @lc app=leetcode.cn id=50 lang=java + * + * [50] Pow(x, n) + */ +class LeetCode_50_038 { + public double myPow(double x, int n) { + if (n == 0) return 1.0; + + double half = myPow(x, n / 2); + if (n % 2 == 0) { + return half * half; + } else { + return half * half * x; + } + + } + + public static void main(String[] args) { + LeetCode_50_038 testCode_50_038 = new LeetCode_50_038(); + System.out.println(testCode_50_038.myPow(2, 10)); + } +} +