From 107c69cdf7217d187a00bfe0178a374f0a838cb7 Mon Sep 17 00:00:00 2001
From: dingjiawen <745518019@qq.com>
Date: Thu, 1 Sep 2022 18:44:02 +0800
Subject: [PATCH] =?UTF-8?q?leecode=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Leecode/pom.xml | 28 ++++++
.../markilue/leecode/array/BinarySearch.java | 98 +++++++++++++++++++
.../markilue/leecode/array/RemoveElement.java | 4 +
.../leecode}/listnode/addTwoNumbers.java | 4 +-
.../leecode}/listnode/mergeKLists.java | 2 +-
.../leecode}/listnode/mergeTwoLists.java | 2 +-
.../leecode}/listnode/removeNthFromEnd.java | 2 +-
.../listnode/selftry/mergeKLists.java | 4 +-
.../listnode/selftry/mergeTwoLists.java | 5 +-
.../listnode/selftry/removeNthFromEnd.java | 2 +-
.../listnode/selftry/reverseKGroup.java | 4 +-
.../leecode}/listnode/selftry/swapPairs.java | 2 +-
.../markilue/leecode}/listnode/swapPairs.java | 2 +-
.../markilue/leecode}/sort/ThreeSum.java | 10 +-
.../com/markilue/leecode/test/Fibonaqi.java | 36 +++++++
.../markilue/leecode}/tree/DeleteNode.java | 7 +-
.../leecode}/tree/InorderTraversal.java | 4 +-
.../markilue/leecode}/tree/TreeNode.java | 2 +-
18 files changed, 187 insertions(+), 31 deletions(-)
create mode 100644 Leecode/src/main/java/com/markilue/leecode/array/BinarySearch.java
create mode 100644 Leecode/src/main/java/com/markilue/leecode/array/RemoveElement.java
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/addTwoNumbers.java (96%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/mergeKLists.java (98%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/mergeTwoLists.java (97%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/removeNthFromEnd.java (98%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/selftry/mergeKLists.java (97%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/selftry/mergeTwoLists.java (94%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/selftry/removeNthFromEnd.java (97%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/selftry/reverseKGroup.java (83%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/selftry/swapPairs.java (96%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/listnode/swapPairs.java (97%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/sort/ThreeSum.java (94%)
create mode 100644 Leecode/src/main/java/com/markilue/leecode/test/Fibonaqi.java
rename Leecode/src/main/java/{ => com/markilue/leecode}/tree/DeleteNode.java (95%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/tree/InorderTraversal.java (99%)
rename Leecode/src/main/java/{ => com/markilue/leecode}/tree/TreeNode.java (93%)
diff --git a/Leecode/pom.xml b/Leecode/pom.xml
index b4c264f..5813608 100644
--- a/Leecode/pom.xml
+++ b/Leecode/pom.xml
@@ -8,6 +8,34 @@
Leecode
1.0-SNAPSHOT
+
+
+
+
+
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.12
+ provided
+
+
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+ junit
+ junit
+ 4.13.2
+ compile
+
org.projectlombok
lombok
diff --git a/Leecode/src/main/java/com/markilue/leecode/array/BinarySearch.java b/Leecode/src/main/java/com/markilue/leecode/array/BinarySearch.java
new file mode 100644
index 0000000..277a04c
--- /dev/null
+++ b/Leecode/src/main/java/com/markilue/leecode/array/BinarySearch.java
@@ -0,0 +1,98 @@
+package com.markilue.leecode.array;
+
+/**
+ * 力扣题号704:二分查找
+ * 描述:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。
+ *
+ */
+public class BinarySearch {
+
+ public static void main(String[] args) {
+ int[] nums = {-1,0,3,5,9,12};
+ int target = 9;
+
+ System.out.println(search(nums,target));
+
+
+
+ }
+
+
+ /**
+ * 非递归法
+ * @param nums
+ * @param target
+ * @return
+ */
+ public static int search(int[] nums, int target) {
+
+ int left=0;
+ int right = nums.length;
+
+
+ while (left>1避免right+left超过了int最大值
+ //由于舍入问题,mid永远小于right,因此 可以写right = nums.length
+ int mid=left+((right-left)>>1);
+ if(nums[mid]target){
+ right=mid;
+ }else {
+ return mid;
+ }
+ }
+
+ return -1;
+
+ }
+
+
+ /**
+ * 递归法
+ * @param nums
+ * @param target
+ * @return
+ */
+ public static int search1(int[] nums, int target) {
+
+ //记录数组长度
+ return find(nums,0,nums.length-1,target);
+ }
+
+ public static int find(int[] nums,int start,int stop, int target){
+
+
+ /**
+ * 解决N.5只能舍不能入,最后可能无限循环的问题
+ */
+ if(nums[start]==target){
+ return start;
+ }
+ if(nums[stop]==target){
+ return stop;
+ }
+
+ if(start==stop-1&&nums[stop]!=target){
+ return -1;
+ }
+
+
+
+ if(start==stop){
+ if(nums[start]==target){
+ return start;
+ }else {
+ return -1;
+ }
+ }
+ int mid = start+(stop-start)/2;
+ if(nums[mid]target){
+ return find(nums,start,mid,target);
+ }else {
+ return mid;
+ }
+ }
+}
diff --git a/Leecode/src/main/java/com/markilue/leecode/array/RemoveElement.java b/Leecode/src/main/java/com/markilue/leecode/array/RemoveElement.java
new file mode 100644
index 0000000..28ad860
--- /dev/null
+++ b/Leecode/src/main/java/com/markilue/leecode/array/RemoveElement.java
@@ -0,0 +1,4 @@
+package com.markilue.leecode.array;
+
+public class RemoveElement {
+}
diff --git a/Leecode/src/main/java/listnode/addTwoNumbers.java b/Leecode/src/main/java/com/markilue/leecode/listnode/addTwoNumbers.java
similarity index 96%
rename from Leecode/src/main/java/listnode/addTwoNumbers.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/addTwoNumbers.java
index 4e71e10..06c0b08 100644
--- a/Leecode/src/main/java/listnode/addTwoNumbers.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/addTwoNumbers.java
@@ -1,4 +1,4 @@
-package listnode;
+package com.markilue.leecode.listnode;
/**
* Definition for singly-linked list.
* public class ListNode {
@@ -10,8 +10,6 @@ package listnode;
* }
*/
-import com.sun.corba.se.impl.resolver.SplitLocalResolverImpl;
-
/**
* 2.两数相加
*/
diff --git a/Leecode/src/main/java/listnode/mergeKLists.java b/Leecode/src/main/java/com/markilue/leecode/listnode/mergeKLists.java
similarity index 98%
rename from Leecode/src/main/java/listnode/mergeKLists.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/mergeKLists.java
index 03b0938..9470024 100644
--- a/Leecode/src/main/java/listnode/mergeKLists.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/mergeKLists.java
@@ -1,4 +1,4 @@
-package listnode;
+package com.markilue.leecode.listnode;
public class mergeKLists {
diff --git a/Leecode/src/main/java/listnode/mergeTwoLists.java b/Leecode/src/main/java/com/markilue/leecode/listnode/mergeTwoLists.java
similarity index 97%
rename from Leecode/src/main/java/listnode/mergeTwoLists.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/mergeTwoLists.java
index 2adebcc..580a8c8 100644
--- a/Leecode/src/main/java/listnode/mergeTwoLists.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/mergeTwoLists.java
@@ -1,4 +1,4 @@
-package listnode;
+package com.markilue.leecode.listnode;
public class mergeTwoLists {
diff --git a/Leecode/src/main/java/listnode/removeNthFromEnd.java b/Leecode/src/main/java/com/markilue/leecode/listnode/removeNthFromEnd.java
similarity index 98%
rename from Leecode/src/main/java/listnode/removeNthFromEnd.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/removeNthFromEnd.java
index 10e91e7..1bb03ea 100644
--- a/Leecode/src/main/java/listnode/removeNthFromEnd.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/removeNthFromEnd.java
@@ -1,4 +1,4 @@
-package listnode;
+package com.markilue.leecode.listnode;
/**
* 删除链表的倒数第N个节点
diff --git a/Leecode/src/main/java/listnode/selftry/mergeKLists.java b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/mergeKLists.java
similarity index 97%
rename from Leecode/src/main/java/listnode/selftry/mergeKLists.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/selftry/mergeKLists.java
index 76035c2..cee0228 100644
--- a/Leecode/src/main/java/listnode/selftry/mergeKLists.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/mergeKLists.java
@@ -1,6 +1,4 @@
-package listnode.selftry;
-
-import listnode.mergeTwoLists;
+package com.markilue.leecode.listnode.selftry;
public class mergeKLists {
diff --git a/Leecode/src/main/java/listnode/selftry/mergeTwoLists.java b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/mergeTwoLists.java
similarity index 94%
rename from Leecode/src/main/java/listnode/selftry/mergeTwoLists.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/selftry/mergeTwoLists.java
index f8fcfaa..669d4b9 100644
--- a/Leecode/src/main/java/listnode/selftry/mergeTwoLists.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/mergeTwoLists.java
@@ -1,7 +1,4 @@
-package listnode.selftry;
-
-import listnode.addTwoNumbers;
-import listnode.removeNthFromEnd;
+package com.markilue.leecode.listnode.selftry;
public class mergeTwoLists {
diff --git a/Leecode/src/main/java/listnode/selftry/removeNthFromEnd.java b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/removeNthFromEnd.java
similarity index 97%
rename from Leecode/src/main/java/listnode/selftry/removeNthFromEnd.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/selftry/removeNthFromEnd.java
index 9585039..61450fd 100644
--- a/Leecode/src/main/java/listnode/selftry/removeNthFromEnd.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/removeNthFromEnd.java
@@ -1,4 +1,4 @@
-package listnode.selftry;
+package com.markilue.leecode.listnode.selftry;
/**
* 删除链表的倒数第N个节点
diff --git a/Leecode/src/main/java/listnode/selftry/reverseKGroup.java b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/reverseKGroup.java
similarity index 83%
rename from Leecode/src/main/java/listnode/selftry/reverseKGroup.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/selftry/reverseKGroup.java
index 6d2403f..c05f7d3 100644
--- a/Leecode/src/main/java/listnode/selftry/reverseKGroup.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/reverseKGroup.java
@@ -1,6 +1,6 @@
-package listnode.selftry;
+package com.markilue.leecode.listnode.selftry;
-import listnode.swapPairs;
+import com.markilue.leecode.listnode.swapPairs;
public class reverseKGroup {
diff --git a/Leecode/src/main/java/listnode/selftry/swapPairs.java b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/swapPairs.java
similarity index 96%
rename from Leecode/src/main/java/listnode/selftry/swapPairs.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/selftry/swapPairs.java
index fe7061e..8b81157 100644
--- a/Leecode/src/main/java/listnode/selftry/swapPairs.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/selftry/swapPairs.java
@@ -1,4 +1,4 @@
-package listnode.selftry;
+package com.markilue.leecode.listnode.selftry;
diff --git a/Leecode/src/main/java/listnode/swapPairs.java b/Leecode/src/main/java/com/markilue/leecode/listnode/swapPairs.java
similarity index 97%
rename from Leecode/src/main/java/listnode/swapPairs.java
rename to Leecode/src/main/java/com/markilue/leecode/listnode/swapPairs.java
index 202be74..8515530 100644
--- a/Leecode/src/main/java/listnode/swapPairs.java
+++ b/Leecode/src/main/java/com/markilue/leecode/listnode/swapPairs.java
@@ -1,4 +1,4 @@
-package listnode;
+package com.markilue.leecode.listnode;
diff --git a/Leecode/src/main/java/sort/ThreeSum.java b/Leecode/src/main/java/com/markilue/leecode/sort/ThreeSum.java
similarity index 94%
rename from Leecode/src/main/java/sort/ThreeSum.java
rename to Leecode/src/main/java/com/markilue/leecode/sort/ThreeSum.java
index 79675a9..ead26e1 100644
--- a/Leecode/src/main/java/sort/ThreeSum.java
+++ b/Leecode/src/main/java/com/markilue/leecode/sort/ThreeSum.java
@@ -1,6 +1,4 @@
-package sort;
-
-import com.sun.corba.se.impl.ior.FreezableList;
+package com.markilue.leecode.sort;
import java.util.*;
@@ -34,7 +32,7 @@ public class ThreeSum {
public static List> threeSum(int[] nums) {
- List> parentList = new ArrayList<>();
+ List> parentList = new ArrayList>();
if (nums.length < 3) {
return parentList;
@@ -78,7 +76,7 @@ public class ThreeSum {
}
//如果是第二个条件跳出的循环
if (nums[j] + nums[k] == need) {
- List list = new ArrayList<>();
+ List list = new ArrayList();
list.add(nums[i]);
list.add(nums[j]);
list.add(nums[k]);
@@ -99,7 +97,7 @@ public class ThreeSum {
//更简洁一点的思路
public static List> threeSum1(int[] nums) {
- List> parentList = new ArrayList<>();
+ List> parentList = new ArrayList>();
if (nums.length < 3) {
return parentList;
diff --git a/Leecode/src/main/java/com/markilue/leecode/test/Fibonaqi.java b/Leecode/src/main/java/com/markilue/leecode/test/Fibonaqi.java
new file mode 100644
index 0000000..4cf42d6
--- /dev/null
+++ b/Leecode/src/main/java/com/markilue/leecode/test/Fibonaqi.java
@@ -0,0 +1,36 @@
+package com.markilue.leecode.test;
+
+public class Fibonaqi {
+
+
+ /**
+ * 测试使用时间复杂度为n的斐波那契数列递归法
+ *
+ */
+// @Test
+// public static void testFibonaqi(){
+//
+// }
+
+ public static void main(String[] args) {
+ int n=5;
+ System.out.println(fibonacci(1,1,10));
+ }
+
+ public static int fibonacci(int first,int second,int n){
+ if(n<=0){
+ return 0;
+ }
+ if(n <3){
+ return 1;
+ }else if(n==3){
+ return first+second;
+ }
+ else {
+ return fibonacci(second,first+second,n-1);
+ }
+ }
+
+
+
+}
diff --git a/Leecode/src/main/java/tree/DeleteNode.java b/Leecode/src/main/java/com/markilue/leecode/tree/DeleteNode.java
similarity index 95%
rename from Leecode/src/main/java/tree/DeleteNode.java
rename to Leecode/src/main/java/com/markilue/leecode/tree/DeleteNode.java
index fef6b63..c347f45 100644
--- a/Leecode/src/main/java/tree/DeleteNode.java
+++ b/Leecode/src/main/java/com/markilue/leecode/tree/DeleteNode.java
@@ -1,11 +1,10 @@
-package tree;
+package com.markilue.leecode.tree;
+
-import lombok.Data;
-import lombok.ToString;
import java.util.List;
-import static tree.InorderTraversal.inorderTraversal1;
+import static com.markilue.leecode.tree.InorderTraversal.inorderTraversal1;
/**
* 删除二叉排序树的某个节点
diff --git a/Leecode/src/main/java/tree/InorderTraversal.java b/Leecode/src/main/java/com/markilue/leecode/tree/InorderTraversal.java
similarity index 99%
rename from Leecode/src/main/java/tree/InorderTraversal.java
rename to Leecode/src/main/java/com/markilue/leecode/tree/InorderTraversal.java
index f3e5758..920a458 100644
--- a/Leecode/src/main/java/tree/InorderTraversal.java
+++ b/Leecode/src/main/java/com/markilue/leecode/tree/InorderTraversal.java
@@ -1,6 +1,6 @@
-package tree;
+package com.markilue.leecode.tree;
+
-import lombok.Data;
import java.util.ArrayList;
import java.util.List;
diff --git a/Leecode/src/main/java/tree/TreeNode.java b/Leecode/src/main/java/com/markilue/leecode/tree/TreeNode.java
similarity index 93%
rename from Leecode/src/main/java/tree/TreeNode.java
rename to Leecode/src/main/java/com/markilue/leecode/tree/TreeNode.java
index a216ba2..aad506b 100644
--- a/Leecode/src/main/java/tree/TreeNode.java
+++ b/Leecode/src/main/java/com/markilue/leecode/tree/TreeNode.java
@@ -1,4 +1,4 @@
-package tree;
+package com.markilue.leecode.tree;
import lombok.Data;