Skip to content

Commit 5e6771d

Browse files
committed
Improved tasks 12-28
1 parent aacba4a commit 5e6771d

File tree

6 files changed

+68
-69
lines changed

6 files changed

+68
-69
lines changed

src/main/ts/g0001_0100/s0012_integer_to_roman/solution.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22
// #2025_03_31_Time_3_ms_(93.02%)_Space_61.86_MB_(54.05%)
33

44
function intToRoman(num: number): string {
5-
const values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
6-
const symbols = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
5+
const values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
6+
const symbols = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
77

8-
let result = "";
9-
let i = 0;
8+
let result = ''
9+
let i = 0
1010

1111
while (num > 0) {
1212
if (num >= values[i]) {
13-
result += symbols[i];
14-
num -= values[i];
13+
result += symbols[i]
14+
num -= values[i]
1515
} else {
16-
i++;
16+
i++
1717
}
1818
}
1919

20-
return result;
21-
};
20+
return result
21+
}
2222

2323
export { intToRoman }

src/main/ts/g0001_0100/s0013_roman_to_integer/solution.ts

+23-24
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,49 @@
22
// #Top_Interview_150_Array/String #2025_03_31_Time_3_ms_(94.58%)_Space_61.52_MB_(51.93%)
33

44
function romanToInt(s: string): number {
5-
let x = 0;
6-
let y: string;
5+
let x = 0
6+
let y: string
77

88
for (let i = 0; i < s.length; i++) {
9-
y = s.charAt(i);
9+
y = s.charAt(i)
1010
switch (y) {
1111
case 'I':
12-
x = getX(s, x, i, 1, 'V', 'X');
13-
break;
12+
x = getX(s, x, i, 1, 'V', 'X')
13+
break
1414
case 'V':
15-
x += 5;
16-
break;
15+
x += 5
16+
break
1717
case 'X':
18-
x = getX(s, x, i, 10, 'L', 'C');
19-
break;
18+
x = getX(s, x, i, 10, 'L', 'C')
19+
break
2020
case 'L':
21-
x += 50;
22-
break;
21+
x += 50
22+
break
2323
case 'C':
24-
x = getX(s, x, i, 100, 'D', 'M');
25-
break;
24+
x = getX(s, x, i, 100, 'D', 'M')
25+
break
2626
case 'D':
27-
x += 500;
28-
break;
27+
x += 500
28+
break
2929
case 'M':
30-
x += 1000;
31-
break;
30+
x += 1000
31+
break
3232
default:
33-
break;
33+
break
3434
}
3535
}
36-
return x;
36+
return x
3737
}
3838

3939
function getX(s: string, x: number, i: number, i2: number, v: string, x2: string): number {
4040
if (i + 1 === s.length) {
41-
x += i2;
41+
x += i2
4242
} else if (s.charAt(i + 1) === v || s.charAt(i + 1) === x2) {
43-
x -= i2;
43+
x -= i2
4444
} else {
45-
x += i2;
45+
x += i2
4646
}
47-
return x;
47+
return x
4848
}
4949

50-
5150
export { romanToInt }

src/main/ts/g0001_0100/s0014_longest_common_prefix/solution.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@
44

55
function longestCommonPrefix(strs: string[]): string {
66
if (strs.length < 1) {
7-
return "";
7+
return ''
88
}
99
if (strs.length === 1) {
10-
return strs[0];
10+
return strs[0]
1111
}
12-
let temp = strs[0];
13-
let i = 1;
14-
let cur: string;
12+
let temp = strs[0]
13+
let i = 1
14+
let cur: string
1515
while (temp.length > 0 && i < strs.length) {
1616
if (temp.length > strs[i].length) {
17-
temp = temp.substring(0, strs[i].length);
17+
temp = temp.substring(0, strs[i].length)
1818
}
19-
cur = strs[i].substring(0, temp.length);
19+
cur = strs[i].substring(0, temp.length)
2020
if (cur !== temp) {
21-
temp = temp.substring(0, temp.length - 1);
21+
temp = temp.substring(0, temp.length - 1)
2222
} else {
23-
i++;
23+
i++
2424
}
2525
}
26-
return temp;
26+
return temp
2727
}
2828

2929
export { longestCommonPrefix }

src/main/ts/g0001_0100/s0026_remove_duplicates_from_sorted_array/solution.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
// #Top_Interview_150_Array/String #2025_03_31_Time_0_ms_(100.00%)_Space_58.42_MB_(57.44%)
33

44
function removeDuplicates(nums: number[]): number {
5-
let n = nums.length;
6-
let i = 0;
7-
let j = 1;
5+
let n = nums.length
6+
let i = 0
7+
let j = 1
88
if (n <= 1) {
9-
return n;
9+
return n
1010
}
1111
while (j <= n - 1) {
1212
if (nums[i] !== nums[j]) {
13-
nums[i + 1] = nums[j];
14-
i++;
13+
nums[i + 1] = nums[j]
14+
i++
1515
}
16-
j++;
16+
j++
1717
}
18-
return i + 1;
18+
return i + 1
1919
}
2020

2121
export { removeDuplicates }

src/main/ts/g0001_0100/s0027_remove_element/solution.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,32 @@
33

44
function removeElement(nums: number[], val: number): number {
55
if (!nums || nums.length === 0) {
6-
return 0;
6+
return 0
77
}
8-
let len = nums.length;
9-
let j = len - 1;
10-
let occurTimes = 0;
8+
let len = nums.length
9+
let j = len - 1
10+
let occurTimes = 0
1111
for (let i = 0; i < len; i++) {
1212
if (nums[i] === val) {
13-
occurTimes++;
13+
occurTimes++
1414
if (j === i) {
15-
return len - occurTimes;
15+
return len - occurTimes
1616
}
1717
while (nums[j] === val) {
18-
j--;
19-
occurTimes++;
18+
j--
19+
occurTimes++
2020
if (j === i) {
21-
return len - occurTimes;
21+
return len - occurTimes
2222
}
2323
}
24-
nums[i] = nums[j];
25-
j--;
24+
nums[i] = nums[j]
25+
j--
2626
}
2727
if (i === j) {
28-
return len - occurTimes;
28+
return len - occurTimes
2929
}
3030
}
31-
return len - occurTimes;
31+
return len - occurTimes
3232
}
3333

3434
export { removeElement }

src/main/ts/g0001_0100/s0028_find_the_index_of_the_first_occurrence_in_a_string/solution.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44

55
function strStr(haystack: string, needle: string): number {
66
if (needle.length === 0) {
7-
return 0;
7+
return 0
88
}
9-
let m = haystack.length;
10-
let n = needle.length;
9+
let m = haystack.length
10+
let n = needle.length
1111
for (let start = 0; start <= m - n; start++) {
1212
if (haystack.substring(start, start + n) === needle) {
13-
return start;
13+
return start
1414
}
1515
}
16-
return -1;
16+
return -1
1717
}
1818

1919
export { strStr }

0 commit comments

Comments
 (0)