An open API service indexing awesome lists of open source software.

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

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 = 0

while(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))

# FibonacciNumber

https://leetcode.com/problems/fibonacci-number/

let fib = (n)=>{
let num1=0
let num2=1
let sum =0;

if(n==1)
return 1

for(let i=0;iInteger.MAX_VALUE/10 || rev<-Integer.MIN_VALUE/10)
return 0;
rev = rev *10 +rem;
}

return rev;
}


# GreatestNumberOfCandies

https://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)

# MaxProduct

https://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)

};

# MissingNumber

https://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;
};