8000 feat: Solved 15 Leetcode problems · ralvarezdev/leetcode@fa71158 · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit fa71158

Browse files
committed
feat: Solved 15 Leetcode problems
1 parent 2b2cc9c commit fa71158

20 files changed

+334
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* @param {number} numBottles
3+
* @param {number} numExchange
4+
* @return {number}
5+
*/
6+
var numWaterBottles = function(numBottles, numExchange) {
7+
let maxWaterBottles=numBottles;
8+
9+
while((numBottles-=numExchange)>=0){
10+
maxWaterBottles++
11+
numBottles++
12+
}
13+
14+
return maxWaterBottles
15+
};
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/**
2+
* @param {string} haystack
3+
* @param {string} needle
4+
* @return {number}
5+
*/
6+
var strStr = function(haystack, needle) {
7+
return haystack.indexOf(needle)
8+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[]}
4+
*/
5+
var numberGame = function(nums) {
6+
nums.sort((a,b)=>a-b)
7+
8+
for(let i=0, temp;i<nums.length;i+=2)
9+
{
10+
temp=nums[i]
11+
nums[i]=nums[i+1]
12+
nums[i+1]=temp
13+
}
14+
15+
return nums
16+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
/**
3+
* @param {string} s
4+
* @return {number}
5+
*/
6+
var romanToInt = function(s) {
7+
const conv={
8+
'I':1,
9+
'V':5,
10+
'X':10,
11+
'L':50,
12+
'C':100,
13+
'D':500,
14+
'M':1000
15+
}
16+
17+
let total=0
18+
19+
for(let i=0, next, c;i<s.length;i++){
20+
next=(i<s.length-1)?s[i+1]:null
21+
c=s[i]
22+
23+
if(c==='I')
24+
total+=(next!==null&&(next==='V'||next==='X'))?-1:1
25+
else if(c==='X')
26+
total+=(next!==null&&(next==='L'||next==='C'))?-10:10
27+
else if(c==='C')
28+
total+=(next!==null&&(next==='D'||next==='M'))?-100:100
29+
else
30+
total+=conv[c]
31+
}
32+
return total
33+
};
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number}
5+
*/
6+
var searchInsert = function(nums, target) {
7+
let low=0,high= nums.length-1,mid, isUpper
8+
9+
while(high>=low)
10+
{
11+
mid= Math.floor((high+low)/2)
12+
13+
if(nums[mid]===target)
14+
return mid
15+
16+
else if(nums[mid]>target){
17+
high=mid-1
18+
isUpper=false
19+
}
20+
21+
else{
22+
low=mid+1
23+
isUpper=true
24+
}
25+
}
26+
27+
return isUpper?mid+1:mid
28+
};

random/2024-july/easy/two-sums.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number[]}
5+
*/
6+
var twoSum = function(nums, target) {
7+
const map =new Map()
8+
9+
nums.forEach((num, i)=>{
10+
const val = map.get(num)
11+
12+
if(val===undefined)
13+
map.set(num, [i])
14+
else
15+
{
16+
val.push(i)
17+
map.set(num, val)
18+
}
19+
})
20+
21+
for(let i=0;i<nums.length;i++){
22+
const diff=target-nums[i]
23+
const idxs= map.get(diff)
24+
25+
if(idxs===undefined)
26+
continue
27+
28+
if(diff===nums[i]){
29+
if(idxs.length<2)
30+
continue
31+
return idxs.slice(0,2)
32+
}
33+
34+
return [i, idxs[0]]
35+
}
36+
};

0 commit comments

Comments
 (0)
0