8000 Initial Commit · KevinTrinh1227/leetcode@1bbd9ef · GitHub
[go: up one dir, main page]

Skip to content

Commit 1bbd9ef

Browse files
Initial Commit
0 parents  commit 1bbd9ef

18 files changed

+443
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://leetcode.com/kevintrinh1227/

easy/001_two_sum.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number[]}
5+
*/
6+
var twoSum = function (nums, target) {
7+
let someMap = new Map();
8+
9+
for (let i = 0; i < nums.length; i++) {
10+
let complement = target - nums[i];
11+
if (someMap.has(complement)) {
12+
return [i, someMap.get(complement)];
13+
} else {
14+
someMap.set(nums[i], i);
15+
}
16+
}
17+
};

easy/009_palindrome_number.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {number} x
3+
* @return {boolean}
4+
*/
5+
var isPalindrome = function (x) {
6+
x = x.toString();
7+
let y = "";
8+
9+
for (let i = x.length - 1; i >= 0; i--) {
10+
y += x[i];
11+
}
12+
13+
if (x == y) {
14+
return true;
15+
} else {
16+
return false;
17+
}
18+
};

easy/014_longest_common_prefix.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {string[]} strs
3+
* @return {string}
4+
*/
5+
var longestCommonPrefix = function (strs) {
6+
let output = "";
7+
8+
for (let i = 0; i < strs[0].length; i++) {
9+
for (let j = 0; j < strs.length; j++) {
10+
if (strs[0][i] != strs[j][i]) {
11+
return output;
12+
}
13+
}
14+
output += strs[0][i];
15+
}
16+
17+
return output;
18+
};

easy/020_valid_parentheses.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @param {string} s
3+
* @return {boolean}
4+
*/
5+
var isValid = function (s) {
6+
let stack = [];
7+
let closeToOpen = new Map([
8+
[")", "("],
9+
["]", "["],
10+
["}", "{"],
11+
]);
12+
13+
for (let i = 0; i < s.length; i++) {
14+
if (closeToOpen.has(s[i]) == true) {
15+
if (
16+
stack.length > 0 &&
17+
stack[stack.length - 1] == closeToOpen.get(s[i])
18+
) {
19+
console.log(`POPPING STACK: ${stack[stack.length - 1]}`);
20+
stack.pop(stack.length - 1);
21+
} else {
22+
return false;
23+
}
24+
} else {
25+
stack.push(s[i]);
26+
console.log(`NEW STACK: ${stack}`);
27+
}
28+
}
29+
30+
console.log(stack);
31+
if (stack.length == 0) {
32+
return true;
33+
} else {
34+
return false;
35+
}
36+
};
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var removeDuplicates = function (nums) {
6+
let i = 1;
7+
let j = i;
8+
9+
while (j < nums.length) {
10+
if (nums[j] != nums[j - 1]) {
11+
nums[i] = nums[j];
12+
i++;
13+
j++;
14+
while (nums[j] == nums[j - 1] && j < nums.length) {
15+
j++;
16+
}
17+
} else {
18+
j++;
19+
while (nums[j] == nums[j - 1] && j < nums.length) {
20+
j++;
21+
}
22+
}
23+
}
24+
25+
console.log(nums);
26+
console.log(i);
27+
return i;
28+
};

easy/027_remove_element.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} val
4+
* @return {number}
5+
*/
6+
var removeElement = function (nums, val) {
7+
let k = 0;
8+
for (let c = 0; c < nums.length; c++) {
9+
if (nums[c] != val) {
10+
k++;
11+
}
12+
}
13+
14+
for (let i = 0; i < nums.length; i++) {
15+
if (nums[i] == val) {
16+
for (let j = i; j < nums.length; j++) {
17+
if (nums[j] != nums[i]) {
18+
temp = nums[i];
19+
nums[i] = nums[j];
20+
nums[j] = temp;
21+
break;
22+
}
23+
}
24+
}
25+
}
26+
27+
console.log(nums);
28+
return k;
29+
};

easy/028_needle_in_haystack.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {string} haystack
3+
* @param {string} needle
4+
* @return {number}
5+
*/
6+
var strStr = function (haystack, needle) {
7+
// LOL this does work but kinda feels like im cheating...
8+
// return haystack.indexOf(needle);
9+
10+
for (let i = 0; i < haystack.length; i++) {
11+
if (
12+
haystack[i] == needle[0] &&
13+
haystack[i + needle.length - 1] == needle[needle.length - 1]
14+
) {
15+
let temp = "";
16+
for (let j = i; j < i + needle.length; j++) {
17+
temp += haystack[j];
18+
}
19+
console.log(temp);
20+
if (temp == needle) {
21+
return i;
22+
}
23+
}
24+
}
25+
26+
return -1;
27+
};

easy/058_length_of_last_word.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/**
2+
* @param {string} s
3+
* @return {number}
4+
*/
5+
var lengthOfLastWord = function (s) {
6+
s = s.trim().split(" ");
7+
return s[s.length - 1].length;
8+
};

easy/125_valid_palindrome.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {string} s
3+
* @return {boolean}
4+
*/
5+
var isPalindrome = function (s) {
6+
// LOL not sure why I did it this way
7+
let numsArray = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"];
8+
let oldStr = "";
9+
let newStr = "";
10+
11+
for (let i = 0; i < s.length; i++) {
12+
if (
13+
s[i].toUpperCase() != s[i].toLowerCase() ||
14+
numsArray.includes(s[i]) == true
15+
) {
16+
oldStr += s[i].toLowerCase();
17+
}
18+
}
19+
20+
newStr = oldStr.split("").reverse().join("");
21+
22+
if (oldStr == newStr) {
23+
return true;
24+
} else {
25+
return false;
26+
}
27+
};

0 commit comments

Comments
 (0)
0