Skip to content

Commit 20a300d

Browse files
committed
add JS solutions
1 parent 99a26a7 commit 20a300d

3 files changed

Lines changed: 60 additions & 13 deletions

File tree

javascript/LeetCode/Array/1184.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* 1184. Distance Between Bus Stops
3+
*
4+
* 從圓中(distance)找出從start到destination最短的距離
5+
*
6+
* @param {number[]} distance
7+
* @param {number} start
8+
* @param {number} destination
9+
* @return {number}
10+
*/
11+
var distanceBetweenBusStops = function(distance, start, destination) {
12+
let res = 0,total = distance.reduce((a,b)=>a + b);
13+
if(start > destination){
14+
let temp = start;
15+
start = destination;
16+
destination = temp;
17+
}
18+
for(let i = 0;i < distance.length;++i) {
19+
if(i >= start && i < destination){
20+
res += distance[i]
21+
}
22+
}
23+
return Math.min(res,total - res);
24+
};
25+
// [0,1,2,3]
26+
// let distance = [1,2,3,4], start = 0, destination = 2;
27+
// ans.3 => 2+1
28+
// 7 => 1+2+4
29+
// Distance between 0 and 2 is 3 or 7, minimum is 3.
30+
31+
let distance = [7,10,1,12,11,14,5,0], start = 7, destination = 2;
32+
// 17
33+
console.log(distanceBetweenBusStops(distance,start,destination));

javascript/LeetCode/math/3432.js

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,37 @@
4444
*/
4545
var countPartitions = function (nums) {
4646
// 左右皆不斷更新
47-
let right = 0;
48-
let left = 0;
49-
// 加總後的值
50-
let sum = 0;
51-
// 操作次數
47+
// let right = 0;
48+
// let left = 0;
49+
// // 加總後的值
50+
// let sum = 0;
51+
// // 操作次數
52+
// let count = 0;
53+
// for (let i = 0; i < nums.length; i++) {
54+
// sum += nums[i];
55+
// }
56+
// for (let i = 0; i < nums.length - 1; i++) {
57+
// left += nums[i];
58+
// // 總值 - 左邊 = 右邊
59+
// right = sum - left;
60+
61+
// // 檢查兩邊是否都是偶數
62+
// if ((left % 2) === (right % 2)) {
63+
// count++;
64+
// }
65+
// }
66+
// return count;
67+
68+
// solution 2.
69+
let sum = nums.reduce((a,b) => a + b);
5270
let count = 0;
53-
for (let i = 0; i < nums.length; i++) {
54-
sum += nums[i];
55-
}
56-
for (let i = 0; i < nums.length - 1; i++) {
71+
let right = 0, left = 0;
72+
for(let i = 0;i < nums.length;++i) {
73+
// 左邊的元素會越來越多,右邊則會變少
5774
left += nums[i];
58-
// 總值 - 左邊 = 右邊
5975
right = sum - left;
6076

61-
// 檢查兩邊是否都是偶數
62-
if ((left % 2) === (right % 2)) {
77+
if(right % 2 === 0 && left % 2 === 0){
6378
count++;
6479
}
6580
}

javascript/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1114,4 +1114,3 @@ var mySqrt = function(x) {
11141114
let x = 8;
11151115
// 2
11161116
// console.log(mySqrt(x));
1117-

0 commit comments

Comments
 (0)