From afcc77ac3d8d6482d01584fdd3938afaf8d9a4a6 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Wed, 28 Feb 2024 22:00:55 +0330 Subject: [PATCH 01/13] Add files via upload --- answer2.java | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 answer2.java diff --git a/answer2.java b/answer2.java new file mode 100644 index 0000000..222282f --- /dev/null +++ b/answer2.java @@ -0,0 +1,73 @@ +import java.util.ArrayList; +import java.util.Scanner; + +public class Main { + + public int[] twoSum(int[] nums, int target) { + int ans[] = new int[2]; + for (int i = 0; i < nums.length; i++) { + for (int j = 0; j < nums.length; j++) { + if (nums[i] + nums[j] == target) { + ans[0] = i; + ans[1] = j; + } + } + } + return ans; + } + + public static int romanToInt(String s) { + int ans = 0; + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) == 'I') + ans++; + else if (s.charAt(i) == 'V') + ans += 5; + else if (s.charAt(i) == 'X') + ans += 10; + else if (s.charAt(i) == 'L') + ans += 50; + else if (s.charAt(i) == 'C') + ans += 100; + else if (s.charAt(i) == 'D') + ans += 500; + else if (s.charAt(i) == 'M') + ans += 1000; + } + return ans; + } + + public static void permute(int[] nums) { + ArrayList> ans = new ArrayList>(); + ArrayList save = new ArrayList(); + save.add(nums[0]); + ans.add(save); + for (int i = 1; i < nums.length; i++) { + ArrayList> save2 = new ArrayList>(); + for (int j = 0; j < ans.size(); j++) { + for (int k = 0; k <= i; k++) { + ArrayList save3 = new ArrayList(); + save3 = (ans.get(j)); + ArrayList save4 = new ArrayList(); + for (int l = 0; l < k; l++) + save4.add(save3.get(l)); + save4.add(nums[i]); + for (int l = k; l <= (i - 1); l++) + save4.add(save3.get(l)); + save2.add(save4); + } + } + ans = save2; + } + for (int i = 0; i < ans.size(); i++) { + for (int j = 0; j < ans.get(i).size(); j++) { + System.out.print(ans.get(i).get(j)); + System.out.print(' '); + } + System.out.print("\n"); + } + } + + public static void main(String[] args) { + } +} \ No newline at end of file From 970fdb371fb9e20341a40da7bec984d812047b7e Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Wed, 28 Feb 2024 23:26:43 +0330 Subject: [PATCH 02/13] Add files via upload --- final code.java | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 final code.java diff --git a/final code.java b/final code.java new file mode 100644 index 0000000..7b8b4fa --- /dev/null +++ b/final code.java @@ -0,0 +1,67 @@ +import java.util.ArrayList; +import java.util.Scanner; + +public class Main { + + public int[] twoSum(int[] nums, int target) { + int ans[] = new int[2]; + for (int i = 0; i < nums.length; i++) { + for (int j = 0; j < nums.length; j++) { + if (nums[i] + nums[j] == target) { + ans[0] = i; + ans[1] = j; + } + } + } + return ans; + } + + public static int romanToInt(String s) { + int ans = 0; + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) == 'I') + ans++; + else if (s.charAt(i) == 'V') + ans += 5; + else if (s.charAt(i) == 'X') + ans += 10; + else if (s.charAt(i) == 'L') + ans += 50; + else if (s.charAt(i) == 'C') + ans += 100; + else if (s.charAt(i) == 'D') + ans += 500; + else if (s.charAt(i) == 'M') + ans += 1000; + } + return ans; + } + + public static ArrayList> permute(int[] nums) { + ArrayList> ans = new ArrayList>(); + ArrayList save = new ArrayList(); + save.add(nums[0]); + ans.add(save); + for (int i = 1; i < nums.length; i++) { + ArrayList> save2 = new ArrayList>(); + for (int j = 0; j < ans.size(); j++) { + for (int k = 0; k <= i; k++) { + ArrayList save3 = new ArrayList(); + save3 = (ans.get(j)); + ArrayList save4 = new ArrayList(); + for (int l = 0; l < k; l++) + save4.add(save3.get(l)); + save4.add(nums[i]); + for (int l = k; l <= (i - 1); l++) + save4.add(save3.get(l)); + save2.add(save4); + } + } + ans = save2; + } + return ans; + } + + public static void main(String[] args) { + } +} \ No newline at end of file From 2901825b905c18f27e57fb4903a4d7c890c946df Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Thu, 29 Feb 2024 18:05:14 +0330 Subject: [PATCH 03/13] Update Exercises2.java --- src/main/java/Exercises2.java | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index 196f820..f6fa2d9 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -14,8 +14,16 @@ public class Exercises2 { */ public int[] twoSum(int[] nums, int target) { - // TODO - return null; + int ans[] = new int[2]; + for (int i = 0; i < nums.length; i++) { + for (int j = 0; j < nums.length; j++) { + if (nums[i] + nums[j] == target) { + ans[0] = i; + ans[1] = j; + } + } + } + return ans; } /* @@ -49,8 +57,24 @@ C can be placed before D (500) and M (1000) to make 400 and 900. */ public int romanToInt(String s) { - // TODO - return 0; + int ans = 0; + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) == 'I') + ans++; + else if (s.charAt(i) == 'V') + ans += 5; + else if (s.charAt(i) == 'X') + ans += 10; + else if (s.charAt(i) == 'L') + ans += 50; + else if (s.charAt(i) == 'C') + ans += 100; + else if (s.charAt(i) == 'D') + ans += 500; + else if (s.charAt(i) == 'M') + ans += 1000; + } + return ans; } /* @@ -66,4 +90,4 @@ public List> permute(int[] nums) { public static void main(String[] args) { // test your code here! } -} \ No newline at end of file +} From f52d37ab7ef46cb052a7fa1b7faca97f236cbbf3 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:19:42 +0330 Subject: [PATCH 04/13] Update final code.java --- final code.java | 63 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/final code.java b/final code.java index 7b8b4fa..db1f322 100644 --- a/final code.java +++ b/final code.java @@ -1,8 +1,7 @@ import java.util.ArrayList; -import java.util.Scanner; +import java.util.List; public class Main { - public int[] twoSum(int[] nums, int target) { int ans[] = new int[2]; for (int i = 0; i < nums.length; i++) { @@ -16,7 +15,8 @@ public int[] twoSum(int[] nums, int target) { return ans; } - public static int romanToInt(String s) { + public int romanToInt(String s) { + int n = s.length(); int ans = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == 'I') @@ -34,26 +34,62 @@ else if (s.charAt(i) == 'D') else if (s.charAt(i) == 'M') ans += 1000; } + for (int i = 0; i < (n - 1); i++) { + if (s.charAt(i) == 'I') { + if (s.charAt(i + 1) == 'V' || s.charAt(i + 1) == 'X') + ans -= 2; + if (s.charAt(i + 1) == 'L' || s.charAt(i + 1) == 'C') + ans -= 2; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 2; + } + else if (s.charAt(i) == 'V') { + if (s.charAt(i + 1) == 'X') + ans -= 10; + if (s.charAt(i + 1) == 'L' || s.charAt(i + 1) == 'C') + ans -= 10; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 10; + } + else if (s.charAt(i) == 'X') { + if (s.charAt(i + 1) == 'L' || s.charAt(i + 1) == 'C') + ans -= 20; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 20; + } + else if (s.charAt(i) == 'L') { + if (s.charAt(i + 1) == 'C') + ans -= 100; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 100; + } + else if (s.charAt(i) == 'C') { + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 200; + } + else if (s.charAt(i) == 'D') { + if (s.charAt(i + 1) == 'M') + ans -= 1000; + } + } return ans; } - public static ArrayList> permute(int[] nums) { - ArrayList> ans = new ArrayList>(); - ArrayList save = new ArrayList(); + public List> permute(int[] nums) { + List> ans = new ArrayList>(); + List save = new ArrayList(); save.add(nums[0]); ans.add(save); for (int i = 1; i < nums.length; i++) { - ArrayList> save2 = new ArrayList>(); + List> save2 = new ArrayList>(); for (int j = 0; j < ans.size(); j++) { for (int k = 0; k <= i; k++) { - ArrayList save3 = new ArrayList(); - save3 = (ans.get(j)); - ArrayList save4 = new ArrayList(); + List save4 = new ArrayList(); for (int l = 0; l < k; l++) - save4.add(save3.get(l)); + save4.add(ans.get(j).get(l)); save4.add(nums[i]); for (int l = k; l <= (i - 1); l++) - save4.add(save3.get(l)); + save4.add(ans.get(j).get(l)); save2.add(save4); } } @@ -63,5 +99,6 @@ public static ArrayList> permute(int[] nums) { } public static void main(String[] args) { + } -} \ No newline at end of file +} From 54dab74ed6a1adc28b014fd026fb2c41a079479e Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:32:01 +0330 Subject: [PATCH 05/13] Update Exercises2.java --- src/main/java/Exercises2.java | 79 ++++++++++++++++++++++++++--------- 1 file changed, 60 insertions(+), 19 deletions(-) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index f6fa2d9..281ea8e 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -1,18 +1,7 @@ import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class Exercises2 { - - /* - Given an array of integers nums and an integer target, return indices of the two numbers - such that they add up to target. - - You may assume that each input would have exactly one solution, and you may not use the same element twice. - You can return the answer in any order. - */ - public int[] twoSum(int[] nums, int target) { int ans[] = new int[2]; for (int i = 0; i < nums.length; i++) { @@ -57,6 +46,7 @@ C can be placed before D (500) and M (1000) to make 400 and 900. */ public int romanToInt(String s) { + int n = s.length(); int ans = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == 'I') @@ -74,20 +64,71 @@ else if (s.charAt(i) == 'D') else if (s.charAt(i) == 'M') ans += 1000; } + for (int i = 0; i < (n - 1); i++) { + if (s.charAt(i) == 'I') { + if (s.charAt(i + 1) == 'V' || s.charAt(i + 1) == 'X') + ans -= 2; + if (s.charAt(i + 1) == 'L' || s.charAt(i + 1) == 'C') + ans -= 2; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 2; + } + else if (s.charAt(i) == 'V') { + if (s.charAt(i + 1) == 'X') + ans -= 10; + if (s.charAt(i + 1) == 'L' || s.charAt(i + 1) == 'C') + ans -= 10; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 10; + } + else if (s.charAt(i) == 'X') { + if (s.charAt(i + 1) == 'L' || s.charAt(i + 1) == 'C') + ans -= 20; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 20; + } + else if (s.charAt(i) == 'L') { + if (s.charAt(i + 1) == 'C') + ans -= 100; + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 100; + } + else if (s.charAt(i) == 'C') { + if (s.charAt(i + 1) == 'D' || s.charAt(i + 1) == 'M') + ans -= 200; + } + else if (s.charAt(i) == 'D') { + if (s.charAt(i + 1) == 'M') + ans -= 1000; + } + } return ans; } - /* - Given an array nums of distinct integers, return all the possible permutations. - You can return the answer in any order. - */ - public List> permute(int[] nums) { - // TODO - return null; + List> ans = new ArrayList>(); + List save = new ArrayList(); + save.add(nums[0]); + ans.add(save); + for (int i = 1; i < nums.length; i++) { + List> save2 = new ArrayList>(); + for (int j = 0; j < ans.size(); j++) { + for (int k = 0; k <= i; k++) { + List save4 = new ArrayList(); + for (int l = 0; l < k; l++) + save4.add(ans.get(j).get(l)); + save4.add(nums[i]); + for (int l = k; l <= (i - 1); l++) + save4.add(ans.get(j).get(l)); + save2.add(save4); + } + } + ans = save2; + } + return ans; } public static void main(String[] args) { - // test your code here! + } } From 609f120a4b57114f7848f5603b80c25c6bec1143 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:33:59 +0330 Subject: [PATCH 06/13] Update Exercises2.java --- src/main/java/Exercises2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index 281ea8e..bb8f0de 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -1,7 +1,7 @@ import java.util.ArrayList; import java.util.List; -public class Exercises2 { +public class Exercise2 { public int[] twoSum(int[] nums, int target) { int ans[] = new int[2]; for (int i = 0; i < nums.length; i++) { From 3076e1768607cca920131f36ce7afe50e054af43 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:35:27 +0330 Subject: [PATCH 07/13] Rename Exercises2.java to Exercise2.java --- src/main/java/{Exercises2.java => Exercise2.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/{Exercises2.java => Exercise2.java} (100%) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercise2.java similarity index 100% rename from src/main/java/Exercises2.java rename to src/main/java/Exercise2.java From 450abb94b8a4b358c067629ebfe00a5d3cc05f72 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:40:35 +0330 Subject: [PATCH 08/13] Update and rename Exercise2.java to Exercises2.java --- src/main/java/{Exercise2.java => Exercises2.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/main/java/{Exercise2.java => Exercises2.java} (99%) diff --git a/src/main/java/Exercise2.java b/src/main/java/Exercises2.java similarity index 99% rename from src/main/java/Exercise2.java rename to src/main/java/Exercises2.java index bb8f0de..281ea8e 100644 --- a/src/main/java/Exercise2.java +++ b/src/main/java/Exercises2.java @@ -1,7 +1,7 @@ import java.util.ArrayList; import java.util.List; -public class Exercise2 { +public class Exercises2 { public int[] twoSum(int[] nums, int target) { int ans[] = new int[2]; for (int i = 0; i < nums.length; i++) { From cf61c5cfb67f70be0ec36097356eaae9cc1d32c8 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:56:13 +0330 Subject: [PATCH 09/13] Update Exercises2.java --- src/main/java/Exercises2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index 281ea8e..c5a4c6c 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -3,7 +3,7 @@ public class Exercises2 { public int[] twoSum(int[] nums, int target) { - int ans[] = new int[2]; + int[] ans = new int[2]; for (int i = 0; i < nums.length; i++) { for (int j = 0; j < nums.length; j++) { if (nums[i] + nums[j] == target) { From 156a5a64796abba424b2d1999b769eac57e17f79 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Fri, 1 Mar 2024 01:00:02 +0330 Subject: [PATCH 10/13] Update Exercises2.java --- src/main/java/Exercises2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index c5a4c6c..e7a5cb3 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -5,7 +5,7 @@ public class Exercises2 { public int[] twoSum(int[] nums, int target) { int[] ans = new int[2]; for (int i = 0; i < nums.length; i++) { - for (int j = 0; j < nums.length; j++) { + for (int j = i; j < nums.length; j++) { if (nums[i] + nums[j] == target) { ans[0] = i; ans[1] = j; From 715dc22b34d53426a01b4670cbea7be5105eb45d Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Mon, 4 Mar 2024 12:13:45 +0330 Subject: [PATCH 11/13] Update Exercises2.java --- src/main/java/Exercises2.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index e7a5cb3..6ec62f6 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -1,5 +1,7 @@ import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class Exercises2 { public int[] twoSum(int[] nums, int target) { From 93053d1946b6645a01c7680366fd56ec4f7749f1 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Mon, 4 Mar 2024 12:15:52 +0330 Subject: [PATCH 12/13] Update Exercises2.java --- src/main/java/Exercises2.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index 6ec62f6..8ddcf4d 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -6,13 +6,18 @@ public class Exercises2 { public int[] twoSum(int[] nums, int target) { int[] ans = new int[2]; + int cnt = 0; for (int i = 0; i < nums.length; i++) { for (int j = i; j < nums.length; j++) { if (nums[i] + nums[j] == target) { ans[0] = i; ans[1] = j; + cnt++; + break; } } + if (cnt > 0) + break; } return ans; } From 184e7e7ac049b2b233640c78a59786854a1e9fe2 Mon Sep 17 00:00:00 2001 From: ermia babaie <160699260+ermiababaie@users.noreply.github.com> Date: Mon, 4 Mar 2024 12:20:55 +0330 Subject: [PATCH 13/13] Update Exercises2.java --- src/main/java/Exercises2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Exercises2.java b/src/main/java/Exercises2.java index 8ddcf4d..8167d9e 100644 --- a/src/main/java/Exercises2.java +++ b/src/main/java/Exercises2.java @@ -8,7 +8,7 @@ public int[] twoSum(int[] nums, int target) { int[] ans = new int[2]; int cnt = 0; for (int i = 0; i < nums.length; i++) { - for (int j = i; j < nums.length; j++) { + for (int j = i + 1; j < nums.length; j++) { if (nums[i] + nums[j] == target) { ans[0] = i; ans[1] = j;