Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 4a7e68a

Browse files
committed
add 7 new drafts
1 parent 366aa6d commit 4a7e68a

7 files changed

+132
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
var createTargetArray = function(nums, index) {
2+
3+
return index.reduce((acc,el,idx) => {
4+
return [...acc.slice(0,el), nums[idx], ...acc.slice(el)]
5+
},[])
6+
};

201-300/205-isomorphic-strings.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var isIsomorphic = function(s, t) {
2+
if(s.length !== t.length) return false;
3+
4+
const mapa = new Map();
5+
const mapb = new Map();
6+
7+
for(let i=0;i<s.length;i++){
8+
if(mapa.has(s[i])){
9+
if(mapa.get(s[i]) !== t[i]){
10+
return false;
11+
}
12+
}else{
13+
mapa.set(s[i],t[i])
14+
}
15+
16+
if(mapb.has(t[i])){
17+
if(mapb.get(t[i]) !== s[i]){
18+
return false;
19+
}
20+
}else{
21+
mapb.set(t[i],s[i])
22+
}
23+
}
24+
25+
return true
26+
27+
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var reverseVowels = function(s) {
2+
const arr = s.split("");
3+
4+
let left = 0,right = arr.length;
5+
6+
const vowels = ['A','E','I','O','U','a','e','i','o','u']
7+
8+
while(left<right){
9+
if(vowels.indexOf(arr[left]) === -1){
10+
left++;
11+
continue;
12+
}
13+
if(vowels.indexOf(arr[right]) === -1){
14+
right--;
15+
continue;
16+
}
17+
18+
const temp = arr[left];
19+
arr[left] = arr[right];
20+
arr[right] = temp;
21+
22+
left++;
23+
right--;
24+
}
25+
26+
return arr.join("")
27+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
var intersection = function (nums1, nums2) {
2+
const set1 = new Set(nums1);
3+
const set2 = new Set(nums2);
4+
5+
const arr = [];
6+
7+
for (let val of set1) {
8+
if (set2.has(val)) {
9+
arr.push(val)
10+
}
11+
}
12+
13+
return arr;
14+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var guessNumber = function(n) {
2+
3+
if(guess(n) === 0) return n
4+
5+
let low = 1, high = n;
6+
while(n>0){
7+
const pick = (parseInt(high + low) / 2);
8+
const res = guess(pick);
9+
10+
if(res === 0){
11+
return pick
12+
}
13+
if(res === -1){
14+
high = pick;
15+
}
16+
if(res === 1){
17+
low = pick;
18+
}
19+
}
20+
};

301-400/383-ransom-note.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var canConstruct = function(ransomNote, magazine) {
2+
const map = new Map();
3+
4+
for(let i=0;i<magazine.length;i++){
5+
if(map.has(magazine[i])){
6+
map.set(magazine[i], map.get(magazine[i])+1)
7+
}else{
8+
map.set(magazine[i],1)
9+
}
10+
}
11+
12+
for(let i=0;i<ransomNote.length;i++){
13+
if(!map.has(ransomNote[i]) || map.get(ransomNote[i]) === 0){
14+
return false;
15+
}
16+
map.set(ransomNote[i], map.get(ransomNote[i])-1)
17+
}
18+
19+
return true;
20+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
var firstUniqChar = function(s) {
2+
const map = new Map();
3+
4+
for(let i=0;i<s.length;i++){
5+
if(map.has(s[i])){
6+
map.set(s[i],-1)
7+
}else{
8+
map.set(s[i],i)
9+
}
10+
}
11+
for(let [key,value] of map){
12+
if(value !== -1){
13+
return value;
14+
}
15+
}
16+
17+
return -1;
18+
};

0 commit comments

Comments
 (0)