diff --git a/Wilson_Eze/Day 01- twoSum/Day1.jpg b/Wilson_Eze/Day 01- twoSum/Day1.jpg new file mode 100644 index 0000000..9e757a2 Binary files /dev/null and b/Wilson_Eze/Day 01- twoSum/Day1.jpg differ diff --git a/Wilson_Eze/Day 01- twoSum/Two-sum.js b/Wilson_Eze/Day 01- twoSum/Two-sum.js new file mode 100644 index 0000000..4dc047c --- /dev/null +++ b/Wilson_Eze/Day 01- twoSum/Two-sum.js @@ -0,0 +1,13 @@ +/** + * @param {number[]} nums + * @param {number} target + * @return {number[]} + */ +var twoSum = function(nums, target) { + for (let i = 0; i < nums.length; i++) { + for (let j = i + 1; j < nums.length; j++) { + if (nums[i] + nums[j] === target) return [i, j]; + } + } +}; + diff --git a/Wilson_Eze/Day 02-removeDuplicatesFromSortedArray/Day2 - Remove Duplicates from Sorted Array.jpg b/Wilson_Eze/Day 02-removeDuplicatesFromSortedArray/Day2 - Remove Duplicates from Sorted Array.jpg new file mode 100644 index 0000000..b0323b9 Binary files /dev/null and b/Wilson_Eze/Day 02-removeDuplicatesFromSortedArray/Day2 - Remove Duplicates from Sorted Array.jpg differ diff --git a/Wilson_Eze/Day 02-removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.js b/Wilson_Eze/Day 02-removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.js new file mode 100644 index 0000000..5dc3608 --- /dev/null +++ b/Wilson_Eze/Day 02-removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.js @@ -0,0 +1,18 @@ +/** + * @param {number[]} nums + * @return {number} + */ + var nums = [2, 24, 19, 24, 32, 45, 2, 88, 89, 88]; + + var removeDuplicates = function(nums) { + let sort = 0; + for (let i = 0; i < nums.length; i++){ + if (nums[i] !== nums[i-1]){ + nums[sort] = nums[i]; + sort++; + } + } + return sort; + }; + + diff --git a/Wilson_Eze/Day 03- removeElements/Day3 - Remove Element.jpg b/Wilson_Eze/Day 03- removeElements/Day3 - Remove Element.jpg new file mode 100644 index 0000000..6798e3c Binary files /dev/null and b/Wilson_Eze/Day 03- removeElements/Day3 - Remove Element.jpg differ diff --git a/Wilson_Eze/Day 03- removeElements/removeElements.js b/Wilson_Eze/Day 03- removeElements/removeElements.js new file mode 100644 index 0000000..856f346 --- /dev/null +++ b/Wilson_Eze/Day 03- removeElements/removeElements.js @@ -0,0 +1,15 @@ +/** + * @param {number[]} nums + * @param {number} val + * @return {number} + */ + var removeElement = function(nums, val) { + let count = 0; + for (let i = 0; i < nums.length; i++) { + if (nums[i] != val) { + nums[count] = nums[i]; + count++; + } + } + return count; + }; \ No newline at end of file diff --git a/Wilson_Eze/Day 04-search Insert position/Day4 - Search Insert Position.jpg b/Wilson_Eze/Day 04-search Insert position/Day4 - Search Insert Position.jpg new file mode 100644 index 0000000..36719d7 Binary files /dev/null and b/Wilson_Eze/Day 04-search Insert position/Day4 - Search Insert Position.jpg differ diff --git a/Wilson_Eze/Day 04-search Insert position/searchInsertPosition.js b/Wilson_Eze/Day 04-search Insert position/searchInsertPosition.js new file mode 100644 index 0000000..0e7ad35 --- /dev/null +++ b/Wilson_Eze/Day 04-search Insert position/searchInsertPosition.js @@ -0,0 +1,19 @@ +/** + * @param {number[]} nums + * @param {number} target + * @return {number} + */ + var searchInsert = function(nums, target) { + for (let i = 0; i < nums.length; i++) { + if (nums[i] === target) return i; + } + for (let j = 0; j < nums.length; j++) { + if (nums[j] < target) { + nums[j] = nums[j]; + } + if (nums[j] > target) { + return j; + } + } + return nums.length; +}; \ No newline at end of file diff --git a/Wilson_Eze/Day 05 -Plus One/Day5 - Plus One.jpg b/Wilson_Eze/Day 05 -Plus One/Day5 - Plus One.jpg new file mode 100644 index 0000000..9deb35b Binary files /dev/null and b/Wilson_Eze/Day 05 -Plus One/Day5 - Plus One.jpg differ diff --git a/Wilson_Eze/Day 05 -Plus One/plusOne.js b/Wilson_Eze/Day 05 -Plus One/plusOne.js new file mode 100644 index 0000000..782a1b8 --- /dev/null +++ b/Wilson_Eze/Day 05 -Plus One/plusOne.js @@ -0,0 +1,8 @@ +/** + * @param {number[]} digits + * @return {number[]} + */ +var plusOne = function(digits) { + const num = "" + (BigInt(digits.join("")) + 1n); + return num.split(""); +}; \ No newline at end of file diff --git a/Wilson_Eze/Day 06-merge Sorted Array/Day6 - Merge Sorted Array.jpg b/Wilson_Eze/Day 06-merge Sorted Array/Day6 - Merge Sorted Array.jpg new file mode 100644 index 0000000..489a852 Binary files /dev/null and b/Wilson_Eze/Day 06-merge Sorted Array/Day6 - Merge Sorted Array.jpg differ diff --git a/Wilson_Eze/Day 06-merge Sorted Array/mergeSortedArray.js b/Wilson_Eze/Day 06-merge Sorted Array/mergeSortedArray.js new file mode 100644 index 0000000..9bbbeae --- /dev/null +++ b/Wilson_Eze/Day 06-merge Sorted Array/mergeSortedArray.js @@ -0,0 +1,21 @@ +/** + * @param {number[]} nums1 + * @param {number} m + * @param {number[]} nums2 + * @param {number} n + * @return {void} Do not return anything, modify nums1 in-place instead. + */ + var merge = function(nums1, m, nums2, n) { + let count = 0; + for (let i = 0; i > m && i < nums1.length; i++) { + if (nums1[i] !== 0) { + nums1[count++] = nums1[i]; + } + } + nums1.length = m; + for (let j = 0; j < nums2.length; j++) { + nums1.push(nums2[j]); + } + nums1.sort((a, b) => a - b); + return nums1; +}; \ No newline at end of file diff --git a/Wilson_Eze/Day 07-Subset II/Day7 - Subsets II.jpg b/Wilson_Eze/Day 07-Subset II/Day7 - Subsets II.jpg new file mode 100644 index 0000000..377cf98 Binary files /dev/null and b/Wilson_Eze/Day 07-Subset II/Day7 - Subsets II.jpg differ diff --git a/Wilson_Eze/Day 07-Subset II/subsetII.js b/Wilson_Eze/Day 07-Subset II/subsetII.js new file mode 100644 index 0000000..ca92168 --- /dev/null +++ b/Wilson_Eze/Day 07-Subset II/subsetII.js @@ -0,0 +1,25 @@ +/** + * @param {number[]} nums + * @return {number[][]} + */ + var subsetsWithDup = function(nums) { + nums.sort(); + const set = [[]]; + let count, subSet, setLength; + for (let i = 0; i < nums.length; i++) { + count = 1; + while (nums[i + 1] && nums[i + 1] == nums[i]) { + count++; + i++; + } + setLength = set.length; + for (let j = 0; j < setLength; j++) { + subSet = set[j].slice(); + for (let x = 1; x <= count; x++) { + if (x > 0) subSet.push(nums[i]); + set.push(subSet.slice()); + } + } + } + return set; +}; \ No newline at end of file diff --git a/Wilson_Eze/Day 08 - Converting sorted array to Binary search tree/Day8 - Convert Sorted Array to Binary Search Tree.jpg b/Wilson_Eze/Day 08 - Converting sorted array to Binary search tree/Day8 - Convert Sorted Array to Binary Search Tree.jpg new file mode 100644 index 0000000..6b4211a Binary files /dev/null and b/Wilson_Eze/Day 08 - Converting sorted array to Binary search tree/Day8 - Convert Sorted Array to Binary Search Tree.jpg differ diff --git a/Wilson_Eze/Day 08 - Converting sorted array to Binary search tree/convertSortedArrayToBinarySearchTree.js b/Wilson_Eze/Day 08 - Converting sorted array to Binary search tree/convertSortedArrayToBinarySearchTree.js new file mode 100644 index 0000000..096b893 --- /dev/null +++ b/Wilson_Eze/Day 08 - Converting sorted array to Binary search tree/convertSortedArrayToBinarySearchTree.js @@ -0,0 +1,20 @@ +/** + * Definition for a binary tree node. + * function TreeNode(val, left, right) { + * this.val = (val===undefined ? 0 : val) + * this.left = (left===undefined ? null : left) + * this.right = (right===undefined ? null : right) + * } + */ +/** + * @param {number[]} nums + * @return {TreeNode} + */ + var sortedArrayToBST = function(nums) { + if (nums.length === 0) return null; + const mid = Math.floor(nums.length / 2); + const root = new TreeNode(nums[mid]); + root.left = sortedArrayToBST(nums.slice(0, mid)); + root.right = sortedArrayToBST(nums.slice(mid + 1)); + return root; +}; \ No newline at end of file diff --git a/Wilson_Eze/Day 09 - Pascal Triangle/Day9 - Pascals Triangle I.jpg b/Wilson_Eze/Day 09 - Pascal Triangle/Day9 - Pascals Triangle I.jpg new file mode 100644 index 0000000..5b333ae Binary files /dev/null and b/Wilson_Eze/Day 09 - Pascal Triangle/Day9 - Pascals Triangle I.jpg differ diff --git a/Wilson_Eze/Day 09 - Pascal Triangle/pascalTriangel1.js b/Wilson_Eze/Day 09 - Pascal Triangle/pascalTriangel1.js new file mode 100644 index 0000000..c87b3a9 --- /dev/null +++ b/Wilson_Eze/Day 09 - Pascal Triangle/pascalTriangel1.js @@ -0,0 +1,18 @@ +/** + * @param {number} numRows + * @return {number[][]} + */ + var generate = function(numRows) { + if (numRows === 0) return []; + if (numRows === 1) return [[1]]; + let result = []; + for (let row = 1; row <= numRows; row++) { + let arr = []; + for (let col = 0; col < row; col++) { + if (col === 0 || col === row - 1) arr.push(1); + else arr.push(result[row - 2][col - 1] + result[row - 2][col]); + } + result.push(arr); + } + return result; +}; \ No newline at end of file diff --git a/Wilson_Eze/Day 10 - Pascal Triangle II/Day10 - Pascals Triangle II.jpg b/Wilson_Eze/Day 10 - Pascal Triangle II/Day10 - Pascals Triangle II.jpg new file mode 100644 index 0000000..40daeca Binary files /dev/null and b/Wilson_Eze/Day 10 - Pascal Triangle II/Day10 - Pascals Triangle II.jpg differ diff --git a/Wilson_Eze/Day 10 - Pascal Triangle II/pascalTriangleII.js b/Wilson_Eze/Day 10 - Pascal Triangle II/pascalTriangleII.js new file mode 100644 index 0000000..ecc2ec4 --- /dev/null +++ b/Wilson_Eze/Day 10 - Pascal Triangle II/pascalTriangleII.js @@ -0,0 +1,18 @@ +/** + * @param {number} rowIndex + * @return {number[]} + */ + var getRow = function(rowIndex) { + if (rowIndex === 0) return [1]; + + let result = []; + for (let row = 1; row <= rowIndex + 1; row++) { + let arr = []; + for (let col = 0; col < row; col++) { + if (col === 0 || col === row - 1) arr.push(1); + else arr.push(result[row - 2][col - 1] + result[row - 2][col]); + } + result.push(arr); + } + return result[rowIndex]; +}; \ No newline at end of file diff --git a/Wilson_Eze/Day11 - Length of Last Word/Day11 - Length of Last Word.jpg b/Wilson_Eze/Day11 - Length of Last Word/Day11 - Length of Last Word.jpg new file mode 100644 index 0000000..fff45d5 Binary files /dev/null and b/Wilson_Eze/Day11 - Length of Last Word/Day11 - Length of Last Word.jpg differ diff --git a/Wilson_Eze/Day11 - Length of Last Word/lengthoflastword.js b/Wilson_Eze/Day11 - Length of Last Word/lengthoflastword.js new file mode 100644 index 0000000..6461045 --- /dev/null +++ b/Wilson_Eze/Day11 - Length of Last Word/lengthoflastword.js @@ -0,0 +1,20 @@ +/** + * @param {string} s + * @return {number} + */ + var lengthOfLastWord = function(s) { + let len = 0; + + x = s.trim(); + + for (let i = 0; i < x.length; i++) { + if (x[i] == ' ') { + len = 0; + } + else { + len++; + } + } + + return len; + }; \ No newline at end of file