https://github.com/sachinkumar579/dsa
Practicing Data Structures and Algorithms
https://github.com/sachinkumar579/dsa
dsa-practice leetcode
Last synced: 4 days ago
JSON representation
Practicing Data Structures and Algorithms
- Host: GitHub
- URL: https://github.com/sachinkumar579/dsa
- Owner: sachinkumar579
- Created: 2021-12-10T14:24:52.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-02-14T14:56:12.000Z (over 3 years ago)
- Last Synced: 2025-02-10T04:14:43.343Z (8 months ago)
- Topics: dsa-practice, leetcode
- Language: JavaScript
- Homepage:
- Size: 142 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures and Algorithms
1 [Binary Search](#BinarySearch)
2 [Fibonacci Number](#FibonacciNumber)
3 [Pascal Numbers](#PascalNumbers)
4 [Running Sum Of 1D Array](#RunningSumOf1DArray)
5 [Shuffle Array](#ShuffleArray)
6 [Reverse A String](#ReverseAString)
7 [Matrix DiagonalSum](#MatrixDiagonalSum)
8 [Reverse Integer](#ReverseInteger)
9 [Greatest Number Of Candies](#GreatestNumberOfCandies)
10 [Jewels And Stones](#JewelsAndStones)
11 [Merge Sorted Array](#MergeSortedArray)
12 [Max Product of 2 numbers in an Array](#MaxProduct)
13 [Missing Number](#MissingNumber)
14 [Majority Finder](#MajorityFinder)
15 [Single Number](#SingleNumber)
16 [Rotate Array](#RotateArray)
17 [TwoSum](#TwoSum)
18 [MoveZeros](#MoveZeros)
19 [SquaresOfSortedArray](#SquaresOfSortedArray)
20 [MaxSubArray](#MaxSubArray)
21 [SearchInRotatedSortedArray](#SearchInRotatedSortedArray)# BinarySearch
https://leetcode.com/problems/search-insert-position/
const find =(nums,target)=>{
let low = 0
let high = nums.length-1
let mid = Math.floor((low+high)/2)
let counter = 0while(counternums[mid]) low = mid+1
mid = Math.floor((low+high)/2)
}
return low;
}console.log(find([1,3,4,7,8,9,13,34,67,89],89))
# FibonacciNumberhttps://leetcode.com/problems/fibonacci-number/
let fib = (n)=>{
let num1=0
let num2=1
let sum =0;if(n==1)
return 1for(let i=0;iInteger.MAX_VALUE/10 || rev<-Integer.MIN_VALUE/10)
return 0;
rev = rev *10 +rem;
}return rev;
}
# GreatestNumberOfCandieshttps://leetcode.com/problems/kids-with-the-greatest-number-of-candies/
var kidsWithCandies = function(candies, extraCandies) {
let large= Math.max(candies)
for(let i=0;i=large)
candies[i]=true
else
candies[i]=false
}
return candies;};
# JewelsAndStones
https://leetcode.com/problems/jewels-and-stones/
var numJewelsInStones = function(jewels, stones) {
let count = 0;
for(str of stones)
{
for(strs of jewels){
if(str===strs){
count+=1;
break;
}
}
}return count;
};# MergeSortedArray
https://leetcode.com/problems/merge-sorted-array/submissions/
var merge = function(nums1, m, nums2, n) {
for (let index = 0; index=0) {
if(nums1[num1Ind]>nums2[num2Ind])
{
nums1[i]=nums1[num1Ind]
num1Ind-=1
}
else{
nums1[i]=nums2[num2Ind]
num2Ind-=1
}
i-=1
}
return nums1;
};
Time complexity - O(m+n)
# MaxProducthttps://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/
var maxProduct = function(nums) {
let numsArr = nums.sort((a,b)=>a-b)
return (numsArr[nums.length-1]-1)*(numsArr[nums.length-2]-1)
};
# MissingNumberhttps://leetcode.com/problems/missing-number/
var missingNumber = function(nums) {let sum = 0;
for(let i=0;i{
if(value>max){
max = value
maxKey = key
}
})return maxKey;
};# SingleNumber
https://leetcode.com/problems/single-number/
var singleNumber = function(nums) {
let set = new Set()
for (let index = 0; index < nums.length; index++) {
if(set.has(nums[index]))
set.delete(nums[index])
else
set.add(nums[index])
}
return(set.values().next().value)
};# RotateArray
https://leetcode.com/problems/rotate-array/
// Couldn't do this in-place
var rotate = function (nums, k) {
k = k % nums.length;let resultArr = [];
for (let index = 0; index < nums.length; index++) {
resultArr[(index + k) % nums.length] = nums[index];
}
console.log(resultArr);
};rotate([1, 2, 3, 4, 5, 6, 7], 3);
# TwoSum
https://leetcode.com/problems/two-sum/
var twoSum = function(nums, target) {
let map = new Map()
map.set(nums[0],0)
for (let index = 1; index < nums.length; index++) {
if(map.has(target-nums[index])){
return [index,map.get(target-nums[index])]
}
map.set(nums[index],index)
}
};# MoveZeros
https://leetcode.com/problems/move-zeroes/
// Couldn't do this in-place
var moveZeroes = function(nums) {
const length = nums.length
let result =[]
let counter = 0;
for (let index = 0; index maxSum){
maxSum=sum
}
}
}return maxSum;
};// Not the greatest of solutions because time complexity is O(n^2)
# SearchInRotatedSortedArray
https://leetcode.com/problems/search-in-rotated-sorted-array/
var search = function(nums, target) {
let low = 0;
let high = nums.length - 1;
let mid;while (low <= high) {
mid = Math.floor((low + high) / 2);
if (nums[mid] == target) return mid;
if (nums[mid] <= nums[high]) {
if (target >= nums[mid] && target <= nums[high]) low = mid + 1;
else high = mid - 1;
} else {
if (target >= nums[low] && target <= nums[mid]) high = mid - 1;
else low = mid + 1;
}
}
return -1;
};