From 90349a978f2b64b65aca861200cfeee0a63e10c3 Mon Sep 17 00:00:00 2001 From: samju200 Date: Sat, 13 May 2023 17:12:23 +0100 Subject: [PATCH 1/3] Week 4 Array --- .../JavaScript/JuwonAdeyemi/ArrayWeek4.js | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js diff --git a/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js b/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js new file mode 100644 index 0000000..74934fb --- /dev/null +++ b/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js @@ -0,0 +1,43 @@ +/** + * @param {number[]} nums + * @return {boolean} + * + * Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct. + */ +var containsDuplicate = function (nums) { + nums.sort(); + for (let i = 0; i <= nums.length - 1; i++) { + if (nums[i] === nums[i + 1]) { + return true; + } + } + return false; +}; + +/** + * @param {number[]} nums + * @param {number} target + * @return {number} + * + * Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. + +You must write an algorithm with O(log n) runtime complexity. + + + */ +var search = function (nums, target) { + nums.sort; + let i = nums.indexOf(target); + return i; +}; + +/** + * @param {number[]} nums + * @param {number} k + * @return {void} Do not return anything, modify nums in-place instead. + * Given an integer array nums, rotate the array to the right by k steps, where k is non-negative. + */ +var rotate = function (nums, k) { + k %= nums.length; // actual number of steps to rotate + nums.unshift(...nums.splice(-k)); +}; From 3d3b82e2849b5b8b7f8f874721db05632d20279f Mon Sep 17 00:00:00 2001 From: samju200 Date: Tue, 16 May 2023 08:43:43 +0100 Subject: [PATCH 2/3] search index --- .../JavaScript/JuwonAdeyemi/ArrayWeek4.js | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js b/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js index 74934fb..62e08ac 100644 --- a/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js +++ b/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js @@ -27,8 +27,12 @@ You must write an algorithm with O(log n) runtime complexity. */ var search = function (nums, target) { nums.sort; - let i = nums.indexOf(target); - return i; + for (let i = 0; i < nums.length; i++) { + if (nums[i] === target) { + return i; + } + } + return -1; // Element not found }; /** @@ -41,3 +45,20 @@ var rotate = function (nums, k) { k %= nums.length; // actual number of steps to rotate nums.unshift(...nums.splice(-k)); }; + +/** + * @param {number[]} nums + * @return {number} + * Given an integer array nums, return the length of the longest strictly increasing +subsequence +. + */ +var lengthOfLIS = function (nums) { + let count = 1; + for (let i = 0; i < nums.length - 1; i++) { + if (nums[i + 1] > nums[i]) { + count++; + } + } + return count; +}; From 26ea24a14dbd64f41ad9e96c0144bb0687e3769b Mon Sep 17 00:00:00 2001 From: samju200 Date: Tue, 16 May 2023 11:14:24 +0100 Subject: [PATCH 3/3] search index1 --- .../leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js b/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js index 62e08ac..20ab728 100644 --- a/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js +++ b/dsa-pros/leetcode/array/JavaScript/JuwonAdeyemi/ArrayWeek4.js @@ -26,8 +26,14 @@ You must write an algorithm with O(log n) runtime complexity. */ var search = function (nums, target) { - nums.sort; for (let i = 0; i < nums.length; i++) { + if (nums[i] > nums[i + 1]) { + // Swap elements + var temp = nums[i]; + nums[i] = nums[i + 1]; + nums[i + 1] = temp; + } + if (nums[i] === target) { return i; }