From 63d60b7d972aca35b28831f6a589ca4eb7cff067 Mon Sep 17 00:00:00 2001 From: Marcus Revaj Date: Thu, 3 Jun 2021 21:49:48 +0200 Subject: [PATCH 1/5] chore(*): base --- src/main/java/Main.java | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index d08a4f0..0c2fd88 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,45 +1,13 @@ -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; public class Main { - public static void main(String[] args) throws IOException { + public static void main(String[] args) { CodeWorker code = new CodeWorker(); - code.fileInputReadStream(); - System.out.println(code.testMethod()); } } class CodeWorker { - public void fileInputReadStream() throws IOException { - FileInputStream in = null; - FileOutputStream out = null; - - try { - in = new FileInputStream("src/input.txt"); - out = new FileOutputStream("output.txt"); - - int c; - while ((c = in.read()) != -1) { - out.write(c); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (in != null) { - in.close(); - } - if (out != null) { - out.close(); - } - } - } - public String testMethod() { return "method"; } From 6806449c428cfd21833300a5c722a022fe17d807 Mon Sep 17 00:00:00 2001 From: Marcus Revaj Date: Mon, 5 Jul 2021 13:25:01 +0200 Subject: [PATCH 2/5] chore(*): simple transpose --- README.md | 2 ++ src/main/java/Main.java | 40 +++++++++++++++++++++++++++++++++++++ src/test/java/MainTest.java | 25 +++++++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/README.md b/README.md index f93b6ba..c450077 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # JavaLocalBase Simple local base for java problems + +https://leetcode.com/explore/challenge/card/july-leetcoding-challenge-2021/608/week-1-july-1st-july-7th/3803/ \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 0c2fd88..1ab7be2 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,3 +1,4 @@ +import java.util.*; public class Main { public static void main(String[] args) { @@ -11,4 +12,43 @@ class CodeWorker { public String testMethod() { return "method"; } + + public int[][] getTransposedMatrix(int[][] inputMatrix,Integer rows,Integer columns) { + var matrixHeight = inputMatrix.length; + if (matrixHeight == 0) { + return inputMatrix; + } + var matrixWidth = inputMatrix[0].length; + var originalMatrixSize = matrixHeight*matrixWidth; + var newMatrixSize = rows*columns; + var isTheNewMatrixLegal = originalMatrixSize == newMatrixSize; + if (!isTheNewMatrixLegal) { + return inputMatrix; + } + + var deserializedMatrix = this.getDeserializedMatrix(inputMatrix); + var updatedMatrix = this.buildNewMatrixFromList(deserializedMatrix, rows, columns); + return updatedMatrix; + } + + public int[][] buildNewMatrixFromList(List deserializedList, Integer rows, Integer columns) { + var newMatrix = new int[rows][columns]; + for (var i=0;i getDeserializedMatrix(int[][] inputMatrix) { + List deserializedMatrix = new ArrayList<>(); + for (var row: inputMatrix) { + for (var column: row) { + deserializedMatrix.add(column); + } + } + return deserializedMatrix; + } } diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java index 679e36c..d59d50c 100644 --- a/src/test/java/MainTest.java +++ b/src/test/java/MainTest.java @@ -1,6 +1,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.util.Arrays; + import static org.junit.jupiter.api.Assertions.*; class MainTest { @@ -16,4 +18,27 @@ public void setUp() throws Exception{ void testMethod() { assertEquals(codeWorker.testMethod(), "method"); } + + @Test + void isIllegalOperation() { + int[][] originalMatrix = new int[][]{new int[]{1,2}, new int[]{3,4}}; + var rows = 1; + var columns = 5; + assertEquals(Arrays.equals(originalMatrix, codeWorker.getTransposedMatrix(originalMatrix, rows, columns)), true); + } + + @Test + void transposedToRow() { + int[][] originalMatrix = new int[][]{new int[]{1,2}, new int[]{3,4}}; + var rows = 1; + var columns = 4; + int[][] trasposedMatrix = new int[][]{new int[]{1,2,3,4}}; + var outputMatrix = codeWorker.getTransposedMatrix(originalMatrix, rows, columns); + for (var i=0;i Date: Sat, 23 Oct 2021 20:42:40 +0200 Subject: [PATCH 3/5] chore(*): cleanup --- src/main/java/Main.java | 39 ------------------------------------- src/test/java/MainTest.java | 23 ---------------------- 2 files changed, 62 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 1ab7be2..e011408 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -12,43 +12,4 @@ class CodeWorker { public String testMethod() { return "method"; } - - public int[][] getTransposedMatrix(int[][] inputMatrix,Integer rows,Integer columns) { - var matrixHeight = inputMatrix.length; - if (matrixHeight == 0) { - return inputMatrix; - } - var matrixWidth = inputMatrix[0].length; - var originalMatrixSize = matrixHeight*matrixWidth; - var newMatrixSize = rows*columns; - var isTheNewMatrixLegal = originalMatrixSize == newMatrixSize; - if (!isTheNewMatrixLegal) { - return inputMatrix; - } - - var deserializedMatrix = this.getDeserializedMatrix(inputMatrix); - var updatedMatrix = this.buildNewMatrixFromList(deserializedMatrix, rows, columns); - return updatedMatrix; - } - - public int[][] buildNewMatrixFromList(List deserializedList, Integer rows, Integer columns) { - var newMatrix = new int[rows][columns]; - for (var i=0;i getDeserializedMatrix(int[][] inputMatrix) { - List deserializedMatrix = new ArrayList<>(); - for (var row: inputMatrix) { - for (var column: row) { - deserializedMatrix.add(column); - } - } - return deserializedMatrix; - } } diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java index d59d50c..82248fe 100644 --- a/src/test/java/MainTest.java +++ b/src/test/java/MainTest.java @@ -18,27 +18,4 @@ public void setUp() throws Exception{ void testMethod() { assertEquals(codeWorker.testMethod(), "method"); } - - @Test - void isIllegalOperation() { - int[][] originalMatrix = new int[][]{new int[]{1,2}, new int[]{3,4}}; - var rows = 1; - var columns = 5; - assertEquals(Arrays.equals(originalMatrix, codeWorker.getTransposedMatrix(originalMatrix, rows, columns)), true); - } - - @Test - void transposedToRow() { - int[][] originalMatrix = new int[][]{new int[]{1,2}, new int[]{3,4}}; - var rows = 1; - var columns = 4; - int[][] trasposedMatrix = new int[][]{new int[]{1,2,3,4}}; - var outputMatrix = codeWorker.getTransposedMatrix(originalMatrix, rows, columns); - for (var i=0;i Date: Thu, 9 Dec 2021 13:20:18 +0100 Subject: [PATCH 4/5] chore(*): binary search --- src/main/java/Main.java | 50 +++++++++++++++++++++++++++++ src/test/java/MainTest.java | 25 +++++++++++++++ target/classes/Main.class | Bin 615 -> 420 bytes target/test-classes/MainTest.class | Bin 782 -> 1968 bytes 4 files changed, 75 insertions(+) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index e011408..809f562 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -9,7 +9,57 @@ public static void main(String[] args) { } class CodeWorker { + + private List list; + private Integer searchValue; + public String testMethod() { return "method"; } + + public Integer binarySearch(List list, Integer searchingValue) { + this.list = list; + this.searchValue = searchingValue; +// return this.recursiveBinary(0, list.size() - 1); + return this.iterativeBinary(); + } + + + private Integer iterativeBinary() { + var l = 0; + var r = this.list.size() -1; + while (l <= r) { + var mid = l + ((r - l)/2); + var midValue = this.list.get(mid); + if (midValue == this.searchValue) { + return midValue; + } else if (midValue < this.searchValue) { + l = mid + 1; + } else { + r = mid -1; + } + } + + return null; + } + + + + + + + private Integer recursiveBinary(Integer left, Integer right) { + if (left > right) {return null;}; + var mid = left+((right-left)/2); + + var midValue = list.get(mid); + if (midValue == this.searchValue) { + return midValue; + } else if (midValue < this.searchValue) { + return this.recursiveBinary(mid + 1, right); + } else { + return this.recursiveBinary(left, mid - 1); + } + } } + diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java index 82248fe..f3c0d97 100644 --- a/src/test/java/MainTest.java +++ b/src/test/java/MainTest.java @@ -18,4 +18,29 @@ public void setUp() throws Exception{ void testMethod() { assertEquals(codeWorker.testMethod(), "method"); } + + @Test + void getLastElement() { + assertEquals(7,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),7)); + } + + @Test + void getSomeElement() { + assertEquals(5,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),5)); + } + + @Test + void getFirstElement() { + assertEquals(1,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),1)); + } + + @Test + void getNonExistentElement() { + assertEquals(null,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),9)); + } + + @Test + void getNonExistentElement2() { + assertEquals(null,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),-2)); + } } \ No newline at end of file diff --git a/target/classes/Main.class b/target/classes/Main.class index 1a32117d39a0f896b2e1505044834a3933c0ca02..3dd50d28c9a24fb6a1103a16043ddde48210bb09 100644 GIT binary patch delta 269 zcmYLEyAArJ8%(I_Yt3K5BlN+HS(TX@7Ko6!0JjravWppuaI06*d{ z#9Ruum^o)=&LsDxpS8;KeR}|Cqhuq3oQb>*skmUGc&s0~`Yf3H0?x2co&@2_4?6<( zIM{|Wf3R57vqs)x(_DHx&w&Ax?mv5SMR|`ZbhfJ}AykGK<<=q#a-?yExO{DkXnaKt zHfQG-K#UV$A&vwUb=+f_RN5VKdWAOp7pOn5l`(@QH6Z^>B8e1@C>va)i2@n!64?(9 C^dQ6l literal 615 zcmZuu%TB^T6g@)=rL_w3^8J1UOq3-Hj2ojXP!kLrS3{Y=5ZanDnD|%fLK7E$fFEVN z10+JQi@9^pJ@?#mr{6!HUjQmNc3@$}#wym5Sa-02%_O!gY+Kl2NSw<+stX3ASZXqu zmtk8lq-rt{H$%TAqI=%z6OyTg9`84KBy~OkP1ThH(x}zB464-aQ)DO7C``|{ Ordo~3eA;ltD*OWB#BlNcPR_4Jbj=dJ}9VE@eRH}YeL*&ViiODG}NICw!64HHK6_}69uBt zAK;H7-q~)u4J`2k@k96CIdkv1=iZs=pS>Ty0o*|$jSR*Ocs)r1nxrrr) zgx+Mx*wPV;_1cQ?Uh$PGA$_)6=G7(cNxcrigj$n6@!Lf%omawFM40r2dc8qlVY4hY zlyn{6z#WDYFYAtyHL)apNepw2<0>9(GmP1;SIMu}NeO*7q!M19Z^-<-Sam&7;N>+U zPAe)<6l%?V$1rk8Mku1UB9zU2Rj7)Za1?_EN^VWGfD8f8q}LWQNXVk=6gH)=D5n)U z6pK%jppskn%Ho;S^XX}hU}~Lzqer;XWQ1cxd4f9$T2hybgV$KTjFVW-*3rl=@<2U6iTU{s?NF0mDFU!j3jd z%9BooN{_}*e$MxW7oLvAgGJ#(omc6!$8&8wjheFu5q+7AkGxtJFIE|batrO%!zQVG zLw;S!YJSf1_!jY}xNp-DFkH;Njp1!TL52<^4r@g^+}kP%?v>XV?uPoJkT#ZP<#;v2 zxrMk`YGtCm=_W~REJo>#X6WrQdW>}D?=7P7^H7108I>$ zZ#4oijN`PTw?oODLGlb)oor41M91?kap?CCD&I{4A|5N`IZ1m7%07h=@^rn^ zWI=bbpYpV{S+bhFXYv~o+er4Mc46$N?BvH zT<%QlqN}u=NCqZJb!e3`0%MqgF|!Rco5}|GF4BRsjqY7o`&AuBk;W7?y%?+NTuarb zP?c>SRg_j6ujw?N({LkAcC4ncgPIaY)ug8zuW5`lo&Tq%^DRxE!#Ne%Q8i_|nxcC4 kAKo}@jxTo3Br*SBAmJYuP$GduK|uu-G?W$?;fP>~1lqg-Qp7{hf&>JC z!~;OtTmtG_SzPUO|TJ7~ld=qPE_{^E2hKG{I1eQr? zChha=RAEJ96>E2)yzijKxi0q+9L-ibiyr~34AE^+1+@_MARcKX$~>LC=%7Nce;ZIm zz(0XuhOIojMKxg^y+a=NU_HYgF!wxgm*UMqZp$z1IMZ0TYN5IcH5>J lydOQmenBB{UZMW+d0FLt!5_Te$LG)r^OI~6nBplh{R7$tDwqHO From 8f8d0a451951bd13c6ed860c787d61320416d42d Mon Sep 17 00:00:00 2001 From: Marcus Date: Thu, 9 Dec 2021 13:21:08 +0100 Subject: [PATCH 5/5] chore(*): cleanup --- src/main/java/Main.java | 48 ------------------------------------- src/test/java/MainTest.java | 25 ------------------- 2 files changed, 73 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 809f562..4ca87ff 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -10,56 +10,8 @@ public static void main(String[] args) { class CodeWorker { - private List list; - private Integer searchValue; - public String testMethod() { return "method"; } - - public Integer binarySearch(List list, Integer searchingValue) { - this.list = list; - this.searchValue = searchingValue; -// return this.recursiveBinary(0, list.size() - 1); - return this.iterativeBinary(); - } - - - private Integer iterativeBinary() { - var l = 0; - var r = this.list.size() -1; - while (l <= r) { - var mid = l + ((r - l)/2); - var midValue = this.list.get(mid); - if (midValue == this.searchValue) { - return midValue; - } else if (midValue < this.searchValue) { - l = mid + 1; - } else { - r = mid -1; - } - } - - return null; - } - - - - - - - private Integer recursiveBinary(Integer left, Integer right) { - if (left > right) {return null;}; - var mid = left+((right-left)/2); - - var midValue = list.get(mid); - if (midValue == this.searchValue) { - return midValue; - } else if (midValue < this.searchValue) { - return this.recursiveBinary(mid + 1, right); - } else { - return this.recursiveBinary(left, mid - 1); - } - } } diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java index f3c0d97..82248fe 100644 --- a/src/test/java/MainTest.java +++ b/src/test/java/MainTest.java @@ -18,29 +18,4 @@ public void setUp() throws Exception{ void testMethod() { assertEquals(codeWorker.testMethod(), "method"); } - - @Test - void getLastElement() { - assertEquals(7,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),7)); - } - - @Test - void getSomeElement() { - assertEquals(5,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),5)); - } - - @Test - void getFirstElement() { - assertEquals(1,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),1)); - } - - @Test - void getNonExistentElement() { - assertEquals(null,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),9)); - } - - @Test - void getNonExistentElement2() { - assertEquals(null,codeWorker.binarySearch(Arrays.asList(1,2,3,4,5,6,7),-2)); - } } \ No newline at end of file