Skip to content

Commit dc903e4

Browse files
committed
syn
1 parent 39aa117 commit dc903e4

35 files changed

+634
-134
lines changed

.vscode/settings.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
{
2-
"java.errors.incompleteClasspath.severity": "info"
2+
"java.project.sourcePaths": [
3+
"Java",
4+
""
5+
]
36
}

Cmain.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include<iostream>
2+
#include"1.Á½ÊýÖ®ºÍ.cpp"
3+
#include<vector>
4+
using namespace std;
5+
int main(){
6+
vector<int> a = {2,7,11,15};
7+
vector<int> b= Solution().twoSum(a,9);
8+
cout<<b[0]<<b[1]<<endl;
9+
}

Cpp/1.两数之和.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
* @lc app=leetcode.cn id=1 lang=cpp
3+
*
4+
* [1] 两数之和
5+
*/
6+
7+
// @lc code=start
8+
#include<vector>
9+
#include<algorithm>
10+
using namespace std;
11+
12+
class Solution {
13+
14+
public:
15+
vector<int> twoSum(vector<int>& nums, int target) {
16+
int i,j;
17+
for(i=0;i<nums.size()-1;i++){
18+
for(j=i+1;j<nums.size();j++){
19+
if(nums[i]+nums[j]==target){
20+
return {i,j};
21+
}
22+
}
23+
}
24+
return {};
25+
}
26+
};
27+
28+
// @lc code=end
29+

Gmain.go

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
)
6+
7+
func main() {
8+
// a:=[]int{2,7,11,15}
9+
fmt.Println(add(1,2))
10+
}
11+
func add(a int,b int) int {
12+
return a+b
13+
}

Golang/1.两数之和.go

+5-8
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,18 @@
55
*/
66

77
// @lc code=start
8-
package Golang
9-
// import (
10-
// "fmt"
11-
// )
128

13-
func TwoSum(nums []int, target int) []int {
14-
for i := 0; i < len(nums)-1; i++ {
9+
func twoSum(nums []int, target int) []int {
10+
for i, x := range nums {
1511
for j := i + 1; j < len(nums); j++ {
16-
if nums[i]+nums[j] == target {
12+
if x+nums[j] == target {
1713
return []int{i, j}
1814
}
1915
}
2016
}
21-
return []int{}
17+
return nil
2218
}
19+
2320
// func main() {
2421
// a:=[]int{2,7,11,15}
2522
// fmt.Println(twoSum(a,9))

Golang/15.三数之和.go

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* @lc app=leetcode.cn id=15 lang=golang
3+
*
4+
* [15] 三数之和
5+
*/
6+
7+
// @lc code=start
8+
import "sort"
9+
10+
func threeSum(nums []int) [][]int {
11+
sort.Ints(nums)
12+
var result [][]int
13+
for i:=0; i<len(nums); i++{
14+
if i != 0&&nums[i]==nums[i-1] {
15+
continue
16+
}
17+
var j,k = i+1,len(nums)-1
18+
for j<k{
19+
var sum=nums[i]+nums[j]+nums[k]
20+
if sum==0 {
21+
var temp =[]int{nums[i],nums[j],nums[k]}
22+
result = append(result,temp)
23+
}
24+
if sum <= 0 {
25+
j++
26+
for j<k&&nums[j]==nums[j-1]{
27+
j++
28+
}
29+
}
30+
if sum >= 0 {
31+
k--
32+
for j<k&&nums[k]==nums[k+1]{
33+
k--
34+
}
35+
}
36+
}
37+
38+
}
39+
return result
40+
}
41+
// @lc code=end
42+
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* @lc app=leetcode.cn id=3 lang=golang
3+
*
4+
* [3] 无重复字符的最长子串
5+
*/
6+
7+
// @lc code=start
8+
func lengthOfLongestSubstring(s string) int {
9+
10+
}
11+
// @lc code=end
12+

JMain.class

529 Bytes
Binary file not shown.

JMain.java

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import java.util.ArrayList;
2+
import java.util.Arrays;
3+
import java.util.HashMap;
4+
import java.util.List;
5+
import java.util.Map;
6+
7+
public class JMain {
8+
public static void main(String[] args) {
9+
JSolution jsolution= new JSolution();
10+
11+
int []nums={2,2,2,2,2};
12+
int target=8;
13+
String s="23";
14+
System.out.println(jsolution.fourSum(nums,target));
15+
}
16+
}
17+
18+
class ListNode {
19+
int val;
20+
ListNode next;
21+
ListNode() {}
22+
ListNode(int val) { this.val = val; }
23+
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
24+
}
25+
26+
class JSolution {
27+
28+
public ListNode removeNthFromEnd(ListNode head, int n) {
29+
ArrayList<ListNode> list= new ArrayList<ListNode>();
30+
ListNode t=head;
31+
32+
while(t!=null){
33+
list.add(t);
34+
t=t.next;
35+
}
36+
int listLen= list.size();
37+
if(n==listLen){
38+
return list.get(1);
39+
40+
}else if(n==1){
41+
t=list.get(listLen-n-1);
42+
t.next=null;
43+
return head;
44+
}else{
45+
t = list.get(listLen-n-1);
46+
t.next=list.get(listLen-n).next;
47+
return head;
48+
}
49+
}
50+
51+
}

JSolution.class

1.2 KB
Binary file not shown.

Java/14.最长公共前缀.java

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;
2-
31
/*
42
* @lc app=leetcode.cn id=14 lang=java
53
*

Java/15.三数之和.java

-20
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,6 @@
55
*
66
* https://leetcode-cn.com/problems/3sum/description/
77
*
8-
* algorithms
9-
* Medium (19.46%)
10-
* Total Accepted: 39K
11-
* Total Submissions: 184.1K
12-
* Testcase Example: '[-1,0,1,2,-1,-4]'
13-
*
14-
* 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0
15-
* ?找出所有满足条件且不重复的三元组。
16-
*
17-
* 注意:答案中不可以包含重复的三元组。
18-
*
19-
* 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],
20-
*
21-
* 满足要求的三元组集合为:
22-
* [
23-
* ⁠ [-1, 0, 1],
24-
* ⁠ [-1, -1, 2]
25-
* ]
26-
*
27-
*
288
*/
299
import java.util.ArrayList;
3010
import java.util.Arrays;

Java/16.最接近的三数之和.java

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* @lc app=leetcode.cn id=16 lang=java
3+
*
4+
* [16] 最接近的三数之和
5+
*/
6+
7+
// @lc code=start
8+
class Solution {
9+
public int threeSumClosest(int[] nums, int target) {
10+
Arrays.sort(nums);
11+
int diff = Integer.MAX_VALUE;
12+
int result = 0;
13+
for(int i=0;i<nums.length-2;i++){
14+
if(i!=0&&nums[i]==nums[i-1])continue;
15+
int j=i+1;
16+
int k=nums.length-1;
17+
while(j<k){
18+
int sum=nums[i]+nums[j]+nums[k];
19+
if (Math.abs(sum-target)<diff){
20+
diff=Math.abs(sum-target);
21+
result=sum;
22+
}
23+
if(sum==target){
24+
return sum;
25+
}else if(sum>target){
26+
k--;
27+
}else{
28+
j++;
29+
}
30+
}
31+
}
32+
return result;
33+
}
34+
}
35+
// @lc code=end
36+
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* @lc app=leetcode.cn id=17 lang=java
3+
*
4+
* [17] 电话号码的字母组合
5+
*/
6+
import java.util.ArrayList;
7+
import java.util.HashMap;
8+
import java.util.List;
9+
import java.util.Map;
10+
11+
// @lc code=start
12+
class Solution {
13+
public List<String> letterCombinations(String digits) {
14+
if(digits.equals("")||digits==null){
15+
return new ArrayList<String>();
16+
}
17+
Map<Character,String> map=new HashMap<>();
18+
map.put('2', "abc");
19+
map.put('3', "def");
20+
map.put('4', "ghi");
21+
map.put('5', "jkl");
22+
map.put('6', "mno");
23+
map.put('7', "pqrs");
24+
map.put('8', "tuv");
25+
map.put('9', "wxyz");
26+
List<String> result= new ArrayList<String>();
27+
result.add("");
28+
for(int i=0;i<digits.length();i++){
29+
String letterSeq=map.get(digits.charAt(i));
30+
int resultSize=result.size();
31+
for(int j=0;j<resultSize;j++){
32+
String topStr=result.remove(0);
33+
for(int k=0;k<letterSeq.length();k++){
34+
result.add(topStr+letterSeq.charAt(k));
35+
}
36+
}
37+
38+
}
39+
return result;
40+
}
41+
}
42+
// @lc code=end
43+

Java/18.四数之和.java

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import java.util.ArrayList;
2+
import java.util.Arrays;
3+
import java.util.List;
4+
5+
/*
6+
* @lc app=leetcode.cn id=18 lang=java
7+
*
8+
* [18] 四数之和
9+
*/
10+
11+
// @lc code=start
12+
class Solution {
13+
14+
List<List<Integer>> result = new ArrayList<>();
15+
public List<List<Integer>> fourSum(int[] nums, int target) {
16+
Arrays.sort(nums);
17+
for (int i = 0; i < nums.length-3; i++) {
18+
if (i != 0 && nums[i] == nums[i - 1]) continue;
19+
int[] numsSub=Arrays.copyOfRange(nums, i+1, nums.length);
20+
threeSum(numsSub, target-nums[i], nums[i]);
21+
}
22+
return result;
23+
}
24+
public void threeSum(int[] nums, int target, int numi) {
25+
for (int i = 0; i < nums.length; i++) {
26+
if (i != 0 && nums[i] == nums[i - 1]) continue;
27+
int j = i + 1, k = nums.length - 1;
28+
while (j < k) {
29+
int sum = nums[i] + nums[j] + nums[k];
30+
if (sum == target) result.add(Arrays.asList(numi, nums[i], nums[j], nums[k]));
31+
if (sum <= target) do j++; while (j < k && nums[j] == nums[j - 1]);
32+
if (sum >= target) do k--; while (j < k && nums[k] == nums[k + 1]);
33+
}
34+
}
35+
}
36+
}
37+
// @lc code=end
38+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
* @lc app=leetcode.cn id=19 lang=java
3+
*
4+
* [19] 删除链表的倒数第 N 个结点
5+
*/
6+
7+
// @lc code=start
8+
/**
9+
* Definition for singly-linked list.
10+
* public class ListNode {
11+
* int val;
12+
* ListNode next;
13+
* ListNode() {}
14+
* ListNode(int val) { this.val = val; }
15+
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
16+
* }
17+
*/
18+
class Solution {
19+
public ListNode removeNthFromEnd(ListNode head, int n) {
20+
ArrayList<ListNode> list= new ArrayList<ListNode>();
21+
ListNode t=head;
22+
23+
while(t!=null){
24+
list.add(t);
25+
t=t.next;
26+
}
27+
int listLen= list.size();
28+
if(n==listLen){
29+
if(listLen!=1){
30+
return list.get(1);
31+
}else{
32+
return null;
33+
}
34+
}else if(n==1){
35+
t=list.get(listLen-n-1);
36+
t.next=null;
37+
return head;
38+
}else{
39+
t = list.get(listLen-n-1);
40+
t.next=list.get(listLen-n).next;
41+
return head;
42+
}
43+
}
44+
}
45+
// @lc code=end
46+

0 commit comments

Comments
 (0)