From d11cfb2bf1e0765266a8214cbd333681714d11a0 Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:46:18 +0700 Subject: [PATCH 01/11] add-two-numbers.cs --- 0002-add-two-numbers/0002-add-two-numbers.cs | 34 +++++++++++++++++++ .../0002-add-two-numbers.java | 0 0002-add-two-numbers/0002-add-two-numbers.js | 0 0002-add-two-numbers/0002-add-two-numbers.php | 0 0002-add-two-numbers/0002-add-two-numbers.rb | 0 5 files changed, 34 insertions(+) create mode 100644 0002-add-two-numbers/0002-add-two-numbers.cs create mode 100644 0002-add-two-numbers/0002-add-two-numbers.java create mode 100644 0002-add-two-numbers/0002-add-two-numbers.js create mode 100644 0002-add-two-numbers/0002-add-two-numbers.php create mode 100644 0002-add-two-numbers/0002-add-two-numbers.rb diff --git a/0002-add-two-numbers/0002-add-two-numbers.cs b/0002-add-two-numbers/0002-add-two-numbers.cs new file mode 100644 index 0000000..7bebb4c --- /dev/null +++ b/0002-add-two-numbers/0002-add-two-numbers.cs @@ -0,0 +1,34 @@ +/** + * Definition for singly-linked list. + * public class ListNode { + * public int val; + * public ListNode next; + * public ListNode(int x) { val = x; } + * } + */ +public class Solution { + public ListNode AddTwoNumbers(ListNode l1, ListNode l2) { + ListNode dummy = new ListNode(0); + ListNode current = dummy; + int carry = 0; + + while (l1 != null || l2 != null || carry != 0) { + int sum = carry; + if (l1 != null) { + sum += l1.val; + l1 = l1.next; + } + if (l2 != null) { + sum += l2.val; + l2 = l2.next; + } + + carry = sum / 10; + sum = sum % 10; + current.next = new ListNode(sum); + current = current.next; + } + + return dummy.next; + } +} \ No newline at end of file diff --git a/0002-add-two-numbers/0002-add-two-numbers.java b/0002-add-two-numbers/0002-add-two-numbers.java new file mode 100644 index 0000000..e69de29 diff --git a/0002-add-two-numbers/0002-add-two-numbers.js b/0002-add-two-numbers/0002-add-two-numbers.js new file mode 100644 index 0000000..e69de29 diff --git a/0002-add-two-numbers/0002-add-two-numbers.php b/0002-add-two-numbers/0002-add-two-numbers.php new file mode 100644 index 0000000..e69de29 diff --git a/0002-add-two-numbers/0002-add-two-numbers.rb b/0002-add-two-numbers/0002-add-two-numbers.rb new file mode 100644 index 0000000..e69de29 From 7057cb66560e3b1cb239ac44be8701d6d57dab88 Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:47:56 +0700 Subject: [PATCH 02/11] add-two-numbers.java --- .../0002-add-two-numbers.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/0002-add-two-numbers/0002-add-two-numbers.java b/0002-add-two-numbers/0002-add-two-numbers.java index e69de29..ae864e0 100644 --- a/0002-add-two-numbers/0002-add-two-numbers.java +++ b/0002-add-two-numbers/0002-add-two-numbers.java @@ -0,0 +1,36 @@ +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode() {} + * ListNode(int val) { this.val = val; } + * ListNode(int val, ListNode next) { this.val = val; this.next = next; } + * } + */ +class Solution { + public ListNode addTwoNumbers(ListNode l1, ListNode l2) { + ListNode dummy = new ListNode(0); + ListNode current = dummy; + int carry = 0; + + while (l1 != null || l2 != null || carry != 0) { + int sum = carry; + if (l1 != null) { + sum += l1.val; + l1 = l1.next; + } + if (l2 != null) { + sum += l2.val; + l2 = l2.next; + } + + carry = sum / 10; + sum = sum % 10; + current.next = new ListNode(sum); + current = current.next; + } + + return dummy.next; + } +} \ No newline at end of file From 7801f5c2efd7f6608f5fd32f6b4e4d0476876e3c Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:51:17 +0700 Subject: [PATCH 03/11] add-two-numbers.js --- 0002-add-two-numbers/0002-add-two-numbers.js | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/0002-add-two-numbers/0002-add-two-numbers.js b/0002-add-two-numbers/0002-add-two-numbers.js index e69de29..84505b7 100644 --- a/0002-add-two-numbers/0002-add-two-numbers.js +++ b/0002-add-two-numbers/0002-add-two-numbers.js @@ -0,0 +1,36 @@ +/** + * Definition for singly-linked list. + * function ListNode(val, next) { + * this.val = (val===undefined ? 0 : val) + * this.next = (next===undefined ? null : next) + * } + */ +/** + * @param {ListNode} l1 + * @param {ListNode} l2 + * @return {ListNode} + */ +var addTwoNumbers = function(l1, l2) { + let dummy = new ListNode(0); + let current = dummy; + let carry = 0; + + while (l1 !== null || l2 !== null || carry !== 0) { + let sum = carry; + if (l1 !== null) { + sum += l1.val; + l1 = l1.next; + } + if (l2 !== null) { + sum += l2.val; + l2 = l2.next; + } + + carry = Math.floor(sum / 10); + sum = sum % 10; + current.next = new ListNode(sum); + current = current.next; + } + + return dummy.next; +}; \ No newline at end of file From ac429e8a38c2cba9a8503f12be1fc8d34552c12f Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:52:37 +0700 Subject: [PATCH 04/11] add-two-numbers.php --- 0002-add-two-numbers/0002-add-two-numbers.php | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/0002-add-two-numbers/0002-add-two-numbers.php b/0002-add-two-numbers/0002-add-two-numbers.php index e69de29..f32b781 100644 --- a/0002-add-two-numbers/0002-add-two-numbers.php +++ b/0002-add-two-numbers/0002-add-two-numbers.php @@ -0,0 +1,46 @@ +val = $val; + * $this->next = $next; + * } + * } + */ +class Solution { + /** + * @param ListNode $l1 + * @param ListNode $l2 + * @return ListNode + */ + function addTwoNumbers($l1, $l2) { + $dummy = new ListNode(0); + $current = $dummy; + $carry = 0; + + while ($l1 !== null || $l2 !== null || $carry !== 0) { + $sum = $carry; + if ($l1 !== null) { + $sum += $l1->val; + $l1 = $l1->next; + } + if ($l2 !== null) { + $sum += $l2->val; + $l2 = $l2->next; + } + + $carry = intdiv($sum, 10); + $sum = $sum % 10; + $current->next = new ListNode($sum); + $current = $current->next; + } + + return $dummy->next; + } +} + +?> \ No newline at end of file From a27eb60cc48c95e1c7afcc11b933c2869f4de3fd Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:53:40 +0700 Subject: [PATCH 05/11] add-two-numbers.rb --- 0002-add-two-numbers/0002-add-two-numbers.rb | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/0002-add-two-numbers/0002-add-two-numbers.rb b/0002-add-two-numbers/0002-add-two-numbers.rb index e69de29..728dc52 100644 --- a/0002-add-two-numbers/0002-add-two-numbers.rb +++ b/0002-add-two-numbers/0002-add-two-numbers.rb @@ -0,0 +1,36 @@ +# Definition for singly-linked list. +# class ListNode +# attr_accessor :val, :next +# def initialize(val = 0, _next = nil) +# @val = val +# @next = _next +# end +# end + +# @param {ListNode} l1 +# @param {ListNode} l2 +# @return {ListNode} +def add_two_numbers(l1, l2) + dummy = ListNode.new(0) + current = dummy + carry = 0 + + while l1 || l2 || carry != 0 + sum = carry + if l1 + sum += l1.val + l1 = l1.next + end + if l2 + sum += l2.val + l2 = l2.next + end + + carry = sum / 10 + sum = sum % 10 + current.next = ListNode.new(sum) + current = current.next + end + + dummy.next +end \ No newline at end of file From b204c272c8f4cb0b47397add2895e01ede7a9ca2 Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:56:05 +0700 Subject: [PATCH 06/11] Polindrome-number.js --- 0009-palindrome-number/0009-palindrome-number.js | 7 +++++++ 0009-palindrome-number/0009-palindrome-number.rb | 0 2 files changed, 7 insertions(+) create mode 100644 0009-palindrome-number/0009-palindrome-number.js create mode 100644 0009-palindrome-number/0009-palindrome-number.rb diff --git a/0009-palindrome-number/0009-palindrome-number.js b/0009-palindrome-number/0009-palindrome-number.js new file mode 100644 index 0000000..e912e3f --- /dev/null +++ b/0009-palindrome-number/0009-palindrome-number.js @@ -0,0 +1,7 @@ +/** + * @param {number} x + * @return {boolean} + */ +var isPalindrome = function(x) { + return x.toString().split('').reverse().join('') == x; +}; \ No newline at end of file diff --git a/0009-palindrome-number/0009-palindrome-number.rb b/0009-palindrome-number/0009-palindrome-number.rb new file mode 100644 index 0000000..e69de29 From 2be6e140562d8e3be2d2d34805f9820e09453ff7 Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:56:59 +0700 Subject: [PATCH 07/11] Polindrome.Number.rb --- 0009-palindrome-number/0009-palindrome-number.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/0009-palindrome-number/0009-palindrome-number.rb b/0009-palindrome-number/0009-palindrome-number.rb index e69de29..a9986bf 100644 --- a/0009-palindrome-number/0009-palindrome-number.rb +++ b/0009-palindrome-number/0009-palindrome-number.rb @@ -0,0 +1,10 @@ +def is_palindrome(x) + return false if x < 0 + reverse = 0 + original = x + while x > 0 + reverse = reverse * 10 + x % 10 + x /= 10 + end + reverse == original +end \ No newline at end of file From 2e0264506d03c5a36b441b342da6b6ec82a9b17a Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 19:02:03 +0700 Subject: [PATCH 08/11] Solution.cs --- .../0011-container-with-most-water.cs | 22 +++++++++++++++++++ .../0011-container-with-most-water.js | 0 .../0011-container-with-most-water.php | 0 .../0011-container-with-most-water.rb | 0 4 files changed, 22 insertions(+) create mode 100644 0011-container-with-most-water/0011-container-with-most-water.cs create mode 100644 0011-container-with-most-water/0011-container-with-most-water.js create mode 100644 0011-container-with-most-water/0011-container-with-most-water.php create mode 100644 0011-container-with-most-water/0011-container-with-most-water.rb diff --git a/0011-container-with-most-water/0011-container-with-most-water.cs b/0011-container-with-most-water/0011-container-with-most-water.cs new file mode 100644 index 0000000..cadb707 --- /dev/null +++ b/0011-container-with-most-water/0011-container-with-most-water.cs @@ -0,0 +1,22 @@ +public class Solution +{ + public int MaxArea(int[] height) + { + int left = 0; + int right = height.Length - 1; + int maxArea = 0; + while (left < right) + { + maxArea = Math.Max(maxArea, Math.Min(height[left], height[right]) * (right - left)); + if (height[left] < height[right]) + { + left++; + } + else + { + right--; + } + } + return maxArea; + } +} \ No newline at end of file diff --git a/0011-container-with-most-water/0011-container-with-most-water.js b/0011-container-with-most-water/0011-container-with-most-water.js new file mode 100644 index 0000000..e69de29 diff --git a/0011-container-with-most-water/0011-container-with-most-water.php b/0011-container-with-most-water/0011-container-with-most-water.php new file mode 100644 index 0000000..e69de29 diff --git a/0011-container-with-most-water/0011-container-with-most-water.rb b/0011-container-with-most-water/0011-container-with-most-water.rb new file mode 100644 index 0000000..e69de29 From 74c250635be6cdbd01297b232948c10f17d359e0 Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 19:02:59 +0700 Subject: [PATCH 09/11] Solution.java --- .../0011-container-with-most-water.java | 16 ++++++++++++++++ .../0011-container-with-most-water.js | 0 2 files changed, 16 insertions(+) create mode 100644 0011-container-with-most-water/0011-container-with-most-water.java delete mode 100644 0011-container-with-most-water/0011-container-with-most-water.js diff --git a/0011-container-with-most-water/0011-container-with-most-water.java b/0011-container-with-most-water/0011-container-with-most-water.java new file mode 100644 index 0000000..ccba04d --- /dev/null +++ b/0011-container-with-most-water/0011-container-with-most-water.java @@ -0,0 +1,16 @@ +class Solution { + public int maxArea(int[] height) { + int left = 0; + int right = height.length - 1; + int maxArea = 0; + while (left < right) { + maxArea = Math.max(maxArea, Math.min(height[left], height[right]) * (right - left)); + if (height[left] < height[right]) { + left++; + } else { + right--; + } + } + return maxArea; + } +} \ No newline at end of file diff --git a/0011-container-with-most-water/0011-container-with-most-water.js b/0011-container-with-most-water/0011-container-with-most-water.js deleted file mode 100644 index e69de29..0000000 From f2a0dbe2f408264669ffd1bbfbaec9275656152e Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 19:04:07 +0700 Subject: [PATCH 10/11] Solution.php --- .../0011-container-with-most-water.php | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/0011-container-with-most-water/0011-container-with-most-water.php b/0011-container-with-most-water/0011-container-with-most-water.php index e69de29..303da51 100644 --- a/0011-container-with-most-water/0011-container-with-most-water.php +++ b/0011-container-with-most-water/0011-container-with-most-water.php @@ -0,0 +1,25 @@ + \ No newline at end of file From a8b24c3367d33bfd8a4c2560aa5c5e4bc3ca86d2 Mon Sep 17 00:00:00 2001 From: Shalaahuddien Daffa <77540526+Shalaahuddien@users.noreply.github.com> Date: Wed, 8 Feb 2023 19:04:57 +0700 Subject: [PATCH 11/11] Solution.rb --- .../0011-container-with-most-water.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/0011-container-with-most-water/0011-container-with-most-water.rb b/0011-container-with-most-water/0011-container-with-most-water.rb index e69de29..b0bcc02 100644 --- a/0011-container-with-most-water/0011-container-with-most-water.rb +++ b/0011-container-with-most-water/0011-container-with-most-water.rb @@ -0,0 +1,16 @@ +# @param {Integer[]} height +# @return {Integer} +def max_area(height) + left = 0 + right = height.length - 1 + max_area = 0 + while left < right do + max_area = [max_area, [height[left], height[right]].min * (right - left)].max + if height[left] < height[right] + left += 1 + else + right -= 1 + end + end + return max_area +end \ No newline at end of file