Compare commits

..

No commits in common. "f150f8959b685f151d403f481671aa4abca10246" and "6d1afa36216c80b55ebada9f06cd67b3b0bf3099" have entirely different histories.

30 changed files with 8 additions and 1161 deletions

BIN
.DS_Store vendored

Binary file not shown.

Binary file not shown.

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "happyNumber",
main_class = "cediackermann.challenges.happyNumber.Main",
srcs = glob(["*.java"]),
deps = [
],
)

View file

@ -1,8 +0,0 @@
package cediackermann.challenges.happyNumber;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(sol.isHappy(2));
}
}

View file

@ -1,27 +0,0 @@
package cediackermann.challenges.happyNumber;
import java.util.HashSet;
import java.util.Set;
public class Solution {
public boolean isHappy(int n) {
Set<Integer> seen = new HashSet<>();
while (n != 1 && !seen.contains(n)) {
seen.add(n);
n = getNextGen(n);
}
return n == 1;
}
private int getNextGen(int n) {
int nextGen = 0;
while (n > 0) {
int digit = n % 10;
nextGen += digit * digit;
n /= 10;
}
return nextGen;
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "houseRobber",
main_class = "cediackermann.challenges.houseRobber.Main",
srcs = glob(["*.java"]),
deps = [
],
)

View file

@ -1,11 +0,0 @@
package cediackermann.challenges.houseRobber;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(
sol.rob(new int[]{2,7,9,3,1})
);
}
}

View file

@ -1,17 +0,0 @@
package cediackermann.challenges.houseRobber;
class Solution {
public int rob(int[] nums) {
int n = nums.length;
if (n == 1) {
return nums[0];
}
int[] loot = new int[n];
loot[0] = nums[0];
loot[1] = Math.max(nums[0], nums[1]);
for (int i = 2; i < n; i++) {
loot[i] = Math.max(loot[i - 1], nums[i] + loot[i - 2]);
}
return loot[n - 1];
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "romanToInt",
main_class = "cediackermann.challenges.romanToInt.Main",
srcs = glob(["*.java"]),
deps = [
],
)

View file

@ -1,11 +0,0 @@
package cediackermann.challenges.romanToInt;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(
sol.romanToInt("MCMXCIV")
);
}
}

View file

@ -1,37 +0,0 @@
package cediackermann.challenges.romanToInt;
import java.util.HashMap;
import java.util.Map;
class Solution {
private final Map<String, Integer> romanLetters = new HashMap<>();
public Solution() {
romanLetters.put("I", 1);
romanLetters.put("V", 5);
romanLetters.put("X", 10);
romanLetters.put("L", 50);
romanLetters.put("C", 100);
romanLetters.put("D", 500);
romanLetters.put("M", 1000);
}
public int romanToInt(String s) {
int solution = 0;
for (int i = 0; i < s.length(); i++) {
if (i + 1 <= s.length() - 1) {
if (this.romanLetters.get(Character.toString(s.charAt(i))) < this.romanLetters
.get(Character.toString(s.charAt(i + 1)))) {
solution += this.romanLetters.get(Character.toString(s.charAt(i + 1)))
- this.romanLetters.get(Character.toString(s.charAt(i)));
i++;
} else {
solution += this.romanLetters.get(Character.toString(s.charAt(i)));
}
} else {
solution += this.romanLetters.get(Character.toString(s.charAt(i)));
}
}
return solution;
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "romanToInt2",
main_class = "cediackermann.challenges.romanToInt2.Main",
srcs = glob(["*.java"]),
deps = [
],
)

View file

@ -1,10 +0,0 @@
package cediackermann.challenges.romanToInt2;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(
sol.romanToInt("MCMXCIV"));
}
}

View file

@ -1,31 +0,0 @@
package cediackermann.challenges.romanToInt2;
import java.util.HashMap;
import java.util.Map;
class Solution {
private final Map<Character, Integer> romanLetters = new HashMap<>();
public Solution() {
romanLetters.put('I', 1);
romanLetters.put('V', 5);
romanLetters.put('X', 10);
romanLetters.put('L', 50);
romanLetters.put('C', 100);
romanLetters.put('D', 500);
romanLetters.put('M', 1000);
}
public int romanToInt(String s) {
int solution = 0;
for (int i = 0; i < s.length() - 1; i++) {
if (this.romanLetters.get(s.charAt(i)) < this.romanLetters.get(s.charAt(i + 1))) {
solution -= this.romanLetters.get(s.charAt(i));
} else {
solution += this.romanLetters.get(s.charAt(i));
}
}
return solution + romanLetters.get(s.charAt(s.length() - 1));
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "romanToInt3",
main_class = "cediackermann.challenges.romanToInt3.Main",
srcs = glob(["*.java"]),
deps = [
],
)

View file

@ -1,10 +0,0 @@
package cediackermann.challenges.romanToInt3;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(
sol.romanToInt("MCMXCIV"));
}
}

View file

@ -1,37 +0,0 @@
package cediackermann.challenges.romanToInt3;
import java.util.HashMap;
import java.util.Map;
class Solution {
private final Map<Character, Integer> romanLetters = new HashMap<>();
public Solution() {
romanLetters.put('I', 1);
romanLetters.put('V', 5);
romanLetters.put('X', 10);
romanLetters.put('L', 50);
romanLetters.put('C', 100);
romanLetters.put('D', 500);
romanLetters.put('M', 1000);
}
public int romanToInt(String s) {
int solution = 0;
for (int i = 0; i < s.length(); i++) {
if (i + 1 <= s.length() - 1) {
if (this.romanLetters.get(s.charAt(i)) < this.romanLetters
.get(s.charAt(i + 1))) {
solution += this.romanLetters.get(s.charAt(i + 1))
- this.romanLetters.get(s.charAt(i));
i++;
} else {
solution += this.romanLetters.get(s.charAt(i));
}
} else {
solution += this.romanLetters.get(s.charAt(i));
}
}
return solution;
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "twoSum",
main_class = "cediackermann.challenges.twoSum.Main",
srcs = glob(["*.java"]),
deps = [
],
)

View file

@ -1,12 +0,0 @@
package cediackermann.challenges.twoSum;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
int[] nums = new int[] { 10, 20, 30, 17, 4 };
int[] solution = sol.getSolution(nums, 14);
for (int i : solution) {
System.out.println(i);
}
}
}

View file

@ -1,14 +0,0 @@
package cediackermann.challenges.twoSum;
public class Solution {
public int[] getSolution(int[] nums, int target) {
for (int i = 0; i <= nums.length; i++) {
for (int j = i + 1; j <= nums.length; j++) {
if (nums[i] + nums[j] == target) {
return new int[] { i, j };
}
}
}
return new int[0];
}
}

View file

@ -1,256 +1,18 @@
package cediackermann.n1;
import java.util.HashMap;
import java.util.Scanner;
public class Toilet {
static private Scanner in = new Scanner(System.in);
static private HashMap<Character, String[]> characters = new HashMap<>();
public Toilet(){
Toilet.characters.put('A', new String[]{
" A ",
" A A ",
" AAAAA ",
" A A ",
" A A "
});
Toilet.characters.put('B', new String[]{
" BBBBB ",
" B B ",
" BBBBB ",
" B B ",
" BBBBB "
});
Toilet.characters.put('C', new String[]{
" CCCCC",
" C ",
" C ",
" C ",
" CCCCC"
});
Toilet.characters.put('D', new String[]{
" DDDD ",
" D D ",
" D D ",
" D D ",
" DDDD "
});
Toilet.characters.put('E', new String[]{
" EEEEE ",
" E ",
" EEEE ",
" E ",
" EEEEE "
});
Toilet.characters.put('F', new String[]{
" FFFFF ",
" F ",
" FFFF ",
" F ",
" F "
});
Toilet.characters.put('G', new String[]{
" GGGGG",
" G ",
" G GG ",
" G G ",
" GGGG "
});
Toilet.characters.put('H', new String[]{
" H H ",
" H H ",
" HHHHH ",
" H H ",
" H H "
});
Toilet.characters.put('I', new String[]{
" IIIII ",
" I ",
" I ",
" I ",
" IIIII "
});
Toilet.characters.put('J', new String[]{
" JJJJJ ",
" J ",
" J ",
" J J ",
" JJJ "
});
Toilet.characters.put('K', new String[]{
" K K ",
" K K ",
" KKK ",
" K K ",
" K K "
});
Toilet.characters.put('L', new String[]{
" L ",
" L ",
" L ",
" L ",
" LLLLL "
});
Toilet.characters.put('M', new String[]{
" M M ",
" MM MM ",
" M M M ",
" M M ",
" M M "
});
Toilet.characters.put('N', new String[]{
" N N ",
" NN N ",
" N N N ",
" N NN ",
" N N "
});
Toilet.characters.put('O', new String[]{
" OOO ",
" O O ",
" O O ",
" O O ",
" OOO "
});
Toilet.characters.put('P', new String[]{
" PPPPP ",
" P P ",
" PPPPP ",
" P ",
" P "
});
Toilet.characters.put('Q', new String[]{
" QQQ ",
" Q Q ",
" Q Q ",
" Q QQ ",
" QQQQ "
});
Toilet.characters.put('R', new String[]{
" RRRRR ",
" R R ",
" RRRRR ",
" R R ",
" R R "
});
Toilet.characters.put('S', new String[]{
" SSSSS",
" S ",
" SSS ",
" S ",
" SSSSS "
});
Toilet.characters.put('T', new String[]{
" TTTTT ",
" T ",
" T ",
" T ",
" T "
});
Toilet.characters.put('U', new String[]{
" U U ",
" U U ",
" U U ",
" U U ",
" UUU "
});
Toilet.characters.put('V', new String[]{
" V V ",
" V V ",
" V V ",
" V V ",
" V "
});
Toilet.characters.put('W', new String[]{
" W W ",
" W W ",
" W W W ",
" WW WW ",
" W W "
});
Toilet.characters.put('X', new String[]{
" X X ",
" X X ",
" X ",
" X X ",
" X X "
});
Toilet.characters.put('Y', new String[]{
" Y Y ",
" Y Y ",
" Y ",
" Y ",
" Y "
});
Toilet.characters.put('Z', new String[]{
" ZZZZZ ",
" Z ",
" Z ",
" Z ",
" ZZZZZ "
});
}
public void readInput() {
String input = Toilet.in.nextLine();
StringBuilder line1 = new StringBuilder();
StringBuilder line2 = new StringBuilder();
StringBuilder line3 = new StringBuilder();
StringBuilder line4 = new StringBuilder();
StringBuilder line5 = new StringBuilder();
Scanner s = new Scanner(System.in);
String input = s.nextLine();
for (int i = 0; i < input.length(); i++) {
convertCharacter(input.charAt(i), line1, line2, line3, line4, line5);
convertCharacter(input.charAt(i));
}
System.out.println(line1);
System.out.println(line2);
System.out.println(line3);
System.out.println(line4);
System.out.println(line5);
System.out.println(input);
}
private void convertCharacter(
Character c,
StringBuilder line1,
StringBuilder line2,
StringBuilder line3,
StringBuilder line4,
StringBuilder line5) {
if (!Toilet.characters.containsKey(Character.toUpperCase(c))) {
return;
private void convertCharacter(Character c) {
System.out.println(c);
}
String[] charArray = Toilet.characters.get(Character.toUpperCase(c));
line1.append(charArray[0]);
line2.append(charArray[1]);
line3.append(charArray[2]);
line4.append(charArray[3]);
line5.append(charArray[4]);
}
}

Binary file not shown.

View file

@ -1,399 +0,0 @@
package silviobraendle.n1;
import static java.util.Map.entry;
import java.util.Map;
public abstract class CharMap {
static public final Map<Character, String[]> charMap = Map.ofEntries(
entry('a', new String[] {
" ",
" ## ",
"# # ",
"### ",
" "
}),
entry('b', new String[] {
"# ",
"### ",
"# # ",
"### ",
" "
}),
entry('c', new String[] {
" ",
"### ",
"# ",
"### ",
" "
}),
entry('d', new String[] {
" # ",
"### ",
"# # ",
"### ",
" "
}),
entry('e', new String[] {
" ",
"### ",
"## ",
"### ",
" "
}),
entry('f', new String[] {
" ## ",
" # ",
"### ",
" # ",
"## "
}),
entry('g', new String[] {
" ",
"### ",
"# # ",
" ## ",
"### "
}),
entry('h', new String[] {
"# ",
"### ",
"# # ",
"# # ",
" "
}),
entry('i', new String[] {
" # ",
" ",
" # ",
" ## ",
" "
}),
entry('j', new String[] {
" # ",
" ",
" # ",
" # ",
"# "
}),
entry('k', new String[] {
"# ",
"# # ",
"## ",
"# # ",
" "
}),
entry('l', new String[] {
" # ",
" # ",
" # ",
" ## ",
" "
}),
entry('m', new String[] {
" ",
"### ",
"### ",
"# # ",
" "
}),
entry('n', new String[] {
" ",
"## ",
"# # ",
"# # ",
" "
}),
entry('o', new String[] {
" ",
"### ",
"# # ",
"### ",
" "
}),
entry('p', new String[] {
" ",
"### ",
"# # ",
"### ",
"# "
}),
entry('q', new String[] {
" ",
"### ",
"# # ",
"### ",
" # "
}),
entry('r', new String[] {
" ",
"### ",
"# ",
"# ",
" "
}),
entry('s', new String[] {
" ",
" ## ",
" # ",
"## ",
" "
}),
entry('t', new String[] {
" # ",
"### ",
" # ",
" ## ",
" "
}),
entry('u', new String[] {
" ",
"# # ",
"# # ",
"### ",
" "
}),
entry('v', new String[] {
" ",
"# # ",
"# # ",
" # ",
" "
}),
entry('w', new String[] {
" ",
"# # ",
"### ",
"### ",
" "
}),
entry('x', new String[] {
" ",
"# # ",
" # ",
"# # ",
" "
}),
entry('y', new String[] {
" ",
"# # ",
"### ",
" # ",
"### "
}),
entry('z', new String[] {
" ",
"## ",
" # ",
" ## ",
" "
}),
entry('A', new String[] {
" # ",
"# # ",
"### ",
"# # ",
"# # "
}),
entry('B', new String[] {
"## ",
"# # ",
"## ",
"# # ",
"## "
}),
entry('C', new String[] {
" ## ",
"# ",
"# ",
"# ",
" ## "
}),
entry('D', new String[] {
"## ",
"# # ",
"# # ",
"# # ",
"## "
}),
entry('E', new String[] {
"### ",
"# ",
"## ",
"# ",
"### "
}),
entry('F', new String[] {
"### ",
"# ",
"## ",
"# ",
"# "
}),
entry('G', new String[] {
" ## ",
"# ",
"# # ",
"# # ",
" ## "
}),
entry('H', new String[] {
"# # ",
"# # ",
"### ",
"# # ",
"# # "
}),
entry('I', new String[] {
"### ",
" # ",
" # ",
" # ",
"### "
}),
entry('J', new String[] {
" ## ",
" # ",
" # ",
"# # ",
" # "
}),
entry('K', new String[] {
"# # ",
"# # ",
"## ",
"# # ",
"# # "
}),
entry('L', new String[] {
"# ",
"# ",
"# ",
"# ",
"### "
}),
entry('M', new String[] {
"# # ",
"### ",
"### ",
"# # ",
"# # "
}),
entry('N', new String[] {
"### ",
"# # ",
"# # ",
"# # ",
"# # "
}),
entry('O', new String[] {
" # ",
"# # ",
"# # ",
"# # ",
" # "
}),
entry('P', new String[] {
"## ",
"# # ",
"## ",
"# ",
"# "
}),
entry('Q', new String[] {
" # ",
"# # ",
"# # ",
" ## ",
" # "
}),
entry('R', new String[] {
"## ",
"# # ",
"## ",
"# # ",
"# # "
}),
entry('S', new String[] {
" ## ",
"# ",
" # ",
" # ",
"## "
}),
entry('T', new String[] {
"### ",
" # ",
" # ",
" # ",
" # "
}),
entry('U', new String[] {
"# # ",
"# # ",
"# # ",
"# # ",
"### "
}),
entry('V', new String[] {
"# # ",
"# # ",
"# # ",
"# # ",
" # "
}),
entry('W', new String[] {
"# # ",
"# # ",
"### ",
"### ",
"# # "
}),
entry('X', new String[] {
"# # ",
"# # ",
" # ",
"# # ",
"# # "
}),
entry('Y', new String[] {
"# # ",
"# # ",
" # ",
" # ",
" # "
}),
entry('Z', new String[] {
"### ",
" # ",
" # ",
"# ",
"### "
})
);
}

View file

@ -1,9 +1,7 @@
package silviobraendle.n1;
public class Main {
class Main {
public static void main(String[] args) {
Toilet toilet = new Toilet();
toilet.readInput();
System.out.println("Hello, World!");
}
}

View file

@ -1,42 +0,0 @@
package silviobraendle.n1;
import java.util.Scanner;
public class Toilet {
static private final Scanner in = new Scanner(System.in);
public void readInput() {
String input = in.nextLine();
StringBuilder line1 = new StringBuilder();
StringBuilder line2 = new StringBuilder();
StringBuilder line3 = new StringBuilder();
StringBuilder line4 = new StringBuilder();
StringBuilder line5 = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
convertCharacter(input.charAt(i), line1, line2, line3, line4, line5);
}
System.out.println(line1);
System.out.println(line2);
System.out.println(line3);
System.out.println(line4);
System.out.println(line5);
}
private void convertCharacter(
Character c,
StringBuilder line1,
StringBuilder line2,
StringBuilder line3,
StringBuilder line4,
StringBuilder line5) {
if (!CharMap.charMap.containsKey(c)) {
return;
}
String[] charArray = CharMap.charMap.get(c);
line1.append(charArray[0]);
line2.append(charArray[1]);
line3.append(charArray[2]);
line4.append(charArray[3]);
line5.append(charArray[4]);
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "trapping_rain_water_ii",
srcs = glob(["*.java"]),
main_class = "silviobraendle.trapping_rain_water_ii.Main",
deps = [
],
)

View file

@ -1,31 +0,0 @@
package silviobraendle.trapping_rain_water_ii;
public class Main {
public static void main(String[] args) {
Solution solution = new Solution();
int[][] heightMap = {
{ 122, 120, 51, 39, 14, 63, 28, 100, 84, 37, 56, 19, 127, 93, 58, 16, 97, 78, 46, 31 },
{ 91, 14, 51, 35, 75, 47, 30, 83, 124, 100, 8, 81, 78, 53, 28, 115, 111, 150, 80, 83 },
{ 69, 135, 31, 76, 35, 111, 70, 75, 47, 49, 74, 126, 111, 4, 83, 17, 111, 74, 108, 141 },
{ 56, 35, 144, 42, 62, 64, 22, 46, 109, 123, 115, 32, 96, 133, 71, 67, 136, 83, 48, 115 },
{ 30, 31, 66, 14, 105, 116, 31, 148, 77, 94, 126, 111, 87, 140, 124, 25, 21, 84, 38, 49 },
{ 84, 72, 128, 120, 54, 78, 67, 121, 138, 85, 63, 8, 144, 138, 68, 119, 123, 27, 6, 128 },
{ 119, 4, 3, 118, 31, 68, 86, 32, 68, 42, 101, 72, 14, 121, 61, 133, 78, 95, 6, 15 },
{ 99, 113, 31, 74, 119, 35, 133, 41, 43, 48, 100, 27, 45, 81, 114, 141, 128, 64, 91, 36 },
{ 61, 91, 130, 133, 130, 91, 127, 52, 33, 41, 46, 88, 55, 71, 77, 45, 92, 49, 94, 9 },
{ 65, 94, 148, 49, 36, 24, 89, 73, 15, 98, 104, 69, 42, 75, 49, 26, 98, 144, 82, 132 },
{ 26, 79, 22, 45, 13, 138, 61, 126, 128, 25, 19, 25, 136, 50, 83, 145, 34, 72, 60, 25 },
{ 35, 4, 39, 104, 63, 61, 62, 20, 53, 138, 24, 107, 138, 134, 0, 27, 53, 13, 40, 83 },
{ 36, 83, 15, 117, 81, 101, 32, 95, 1, 44, 0, 141, 89, 14, 128, 68, 95, 2, 15, 133 },
{ 108, 85, 57, 58, 19, 68, 141, 132, 100, 78, 101, 86, 135, 91, 15, 36, 94, 71, 139, 115 },
{ 9, 107, 26, 13, 93, 147, 119, 124, 123, 45, 68, 53, 140, 87, 135, 34, 45, 120, 36, 127 },
{ 44, 36, 38, 147, 48, 10, 60, 32, 51, 6, 78, 137, 1, 130, 132, 80, 17, 132, 12, 41 },
{ 52, 77, 7, 135, 107, 134, 26, 150, 95, 76, 95, 52, 74, 23, 50, 72, 110, 4, 1, 62 },
{ 73, 66, 132, 88, 147, 74, 51, 146, 84, 73, 87, 94, 58, 120, 52, 0, 58, 10, 41, 59 },
{ 60, 18, 49, 101, 7, 2, 80, 147, 101, 26, 3, 9, 4, 13, 118, 54, 50, 106, 1, 75 },
{ 77, 98, 112, 92, 55, 3, 66, 133, 18, 39, 83, 117, 12, 131, 28, 4, 116, 101, 22, 70 },
};
int answer = solution.trapRainWater(heightMap);
System.out.println(answer);
}
}

View file

@ -1,96 +0,0 @@
package silviobraendle.trapping_rain_water_ii;
public class Solution {
public int trapRainWater(int[][] heightMap) {
int m = heightMap.length;
int n = heightMap[0].length;
int maxLevel = findMaxLevel(heightMap);
int waterSum = 0;
for (int level = maxLevel; level > 0; level--) {
boolean[][] visited = new boolean[m][n];
for (int i = 0; i < m; i++) {
findPath(i, 0, visited, heightMap, level);
findPath(i, n - 1, visited, heightMap, level);
}
for (int j = 1; j < n - 1; j++) {
findPath(0, j, visited, heightMap, level);
findPath(m - 1, j, visited, heightMap, level);
}
waterSum += sumLevel(heightMap, level, visited);
}
return waterSum;
}
private int sumLevel(int[][] heightMap, int level, boolean[][] visited) {
int m = heightMap.length;
int n = heightMap[0].length;
int levelSum = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (visited[i][j]) {
continue;
}
if (heightMap[i][j] >= level) {
continue;
}
levelSum++;
}
}
return levelSum;
}
private void findPath(int i, int j, boolean[][] visited, int[][] heightMap, int level) {
int m = visited.length;
int n = visited[0].length;
if (!isInBounds(i, j, m, n)) {
return;
}
if (visited[i][j]) {
return;
}
if (heightMap[i][j] >= level) {
return;
}
visited[i][j] = true;
findPath(i + 1, j, visited, heightMap, level); // inc i
findPath(i - 1, j, visited, heightMap, level); // dec i
findPath(i, j + 1, visited, heightMap, level); // inc j
findPath(i, j - 1, visited, heightMap, level); // dec j
}
private boolean isInBounds(int i, int j, int m, int n) {
return i >= 0 && i < m && j >= 0 && j < n;
}
private int findMaxLevel(int[][] heightMap) {
int m = heightMap.length;
int n = heightMap[0].length;
int maxLevel = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
int value = heightMap[i][j];
if (value > maxLevel) {
maxLevel = value;
}
}
}
return maxLevel;
}
}

View file

@ -1,11 +0,0 @@
load("@rules_java//java:defs.bzl", "java_binary")
package(default_visibility = ["//visibility:public"])
java_binary(
name = "two_sum",
srcs = glob(["*.java"]),
main_class = "silviobraendle.two_sum.Main",
deps = [
],
)

View file

@ -1,32 +0,0 @@
package silviobraendle.two_sum;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
int[] nums = {
2, 7, 11, 15
};
int target = 9;
int[] indices = twoSum(nums, target);
System.out.println(indices[0]);
System.out.println(indices[1]);
}
public static int[] twoSum(int nums[], int target) {
Map<Integer, Integer> foundIndices = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int value = nums[i];
int complement = target-value;
Integer indexOfComplement = foundIndices.get(complement);
if (indexOfComplement != null) {
return new int[] {indexOfComplement, i};
}
foundIndices.put(value, i);
}
throw new Error();
}
}