Skip to content

Commit bf002aa

Browse files
committed
Add new solutions for problems 20, 67, 1200, 1984, and 3516
1 parent 17fb401 commit bf002aa

5 files changed

Lines changed: 207 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package me.darksnakex.problems.java;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.List;
6+
7+
public class p1200 {
8+
9+
public static List<List<Integer>> minimumAbsDifference(int[] arr) {
10+
11+
12+
List<List<Integer>> listres = new ArrayList<>();
13+
int minact = 999999999;
14+
15+
Arrays.sort(arr);
16+
17+
for(int i = 0; i < arr.length-1; i++){
18+
19+
if(arr[i+1] - arr[i] <= minact){
20+
if(arr[i+1] - arr[i] < minact){
21+
minact = arr[i+1] - arr[i];
22+
listres.clear();
23+
}
24+
List<Integer> listact = new ArrayList<>();
25+
listact.add(arr[i]);
26+
listact.add(arr[i+1]);
27+
listres.add(listact);
28+
29+
30+
}
31+
32+
}
33+
34+
35+
36+
return listres;
37+
}
38+
39+
40+
public static void main(String[] args){
41+
42+
minimumAbsDifference(new int[]{1,3,6,10,15});
43+
44+
}
45+
46+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package me.darksnakex.problems.java;
2+
3+
public class p1984 {
4+
5+
public int minimumDifference(int[] nums, int k) {
6+
7+
int res = 999999999;
8+
9+
if(nums.length == 1){
10+
return 0;
11+
}
12+
13+
for(int i = 0; i < nums.length; i++){
14+
15+
for(int j = i+1; j < k; j++){
16+
if(Math.abs(nums[i]-nums[j]) < res){
17+
res = Math.abs(nums[i]-nums[j]);
18+
}
19+
}
20+
21+
}
22+
23+
return res;
24+
25+
}
26+
27+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package me.darksnakex.problems.java;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.List;
6+
import java.util.Stack;
7+
8+
public class p20 {
9+
10+
public static boolean isValid(String s) {
11+
12+
Stack<Character> pila = new Stack<>();
13+
14+
if(s.length() % 2 != 0){
15+
return false;
16+
}
17+
18+
for(int i = 0; i < s.length(); i++){
19+
if(s.charAt(i) == '('){
20+
pila.push(')');
21+
} else if (s.charAt(i) == '{') {
22+
pila.push('}');
23+
}
24+
else if (s.charAt(i) == '[') {
25+
pila.push(']');
26+
} else if (pila.isEmpty() || pila.pop() != s.charAt(i)) {
27+
return false;
28+
29+
}
30+
31+
}
32+
33+
return pila.isEmpty();
34+
35+
}
36+
37+
38+
39+
40+
public static void main(String[] args){
41+
42+
System.out.println(isValid("()")); // bien
43+
System.out.println("(]"); // mal
44+
System.out.println("([])"); // bien
45+
System.out.println("([)]"); // mal
46+
47+
}
48+
49+
50+
51+
}
52+
53+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package me.darksnakex.problems.java;
2+
3+
public class p3516 {
4+
5+
public int findClosest(int x, int y, int z) {
6+
int calc = Math.abs(x-z);
7+
int calc2 = Math.abs(y-z);
8+
9+
if(calc == calc2) return 0;
10+
if(calc < calc2) return 1;
11+
return 2;
12+
13+
}
14+
15+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package me.darksnakex.problems.java;
2+
3+
4+
public class p67 {
5+
6+
public static String addBinary(String a, String b) {
7+
8+
StringBuilder res = new StringBuilder();
9+
boolean bitacarreo = false;
10+
int longitudm = Math.max(a.length(), b.length());
11+
12+
13+
for(int i = 1; i <= longitudm; i++){
14+
15+
char cara;
16+
if (a.length() - i >= 0) {
17+
cara = a.charAt(a.length() - i);
18+
} else {
19+
cara = '0';
20+
}
21+
22+
char carb;
23+
if (b.length() - i >= 0) {
24+
carb = b.charAt(b.length() - i);
25+
} else {
26+
carb = '0';
27+
}
28+
29+
if(cara == '0' && carb == '0'){ // caso: 0+0
30+
if(bitacarreo){
31+
res.append('1');
32+
bitacarreo=false;
33+
}else {
34+
res.append('0');
35+
}
36+
}
37+
else if((cara == '1' && carb == '0') || (cara == '0' && carb == '1')){ // caso: 0+1 o 1+0
38+
if(bitacarreo){
39+
res.append('0');
40+
}else {
41+
res.append('1');
42+
}
43+
} else if (cara == '1' && carb == '1') { // caso: 1+1
44+
if(bitacarreo){
45+
res.append('1');
46+
}else{
47+
res.append('0');
48+
}
49+
bitacarreo = true;
50+
}
51+
52+
53+
}
54+
55+
if(bitacarreo){
56+
res.append('1');
57+
}
58+
return res.reverse().toString();
59+
60+
}
61+
62+
public static void main(String[] args){
63+
System.out.println(addBinary("1010","1011"));
64+
System.out.println(addBinary("11","1"));
65+
}
66+
}

0 commit comments

Comments
 (0)