Skip to content

Commit b03dca0

Browse files
committed
feat: add solutions to lc problems: No.1217,1218
* No.1217.Minimum Cost to Move Chips to The Same Position * No.1218.Longest Arithmetic Subsequence of Given Difference
1 parent 26d7960 commit b03dca0

File tree

6 files changed

+102
-0
lines changed

6 files changed

+102
-0
lines changed

solution/1200-1299/1217.Minimum Cost to Move Chips to The Same Position/README.md

+17
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,23 @@ func minCostToMoveChips(position []int) int {
128128
}
129129
```
130130

131+
### **JavaScript**
132+
133+
```js
134+
/**
135+
* @param {number[]} position
136+
* @return {number}
137+
*/
138+
var minCostToMoveChips = function (position) {
139+
let a = 0;
140+
for (let v of position) {
141+
a += v % 2;
142+
}
143+
let b = position.length - a;
144+
return Math.min(a, b);
145+
};
146+
```
147+
131148
### **...**
132149

133150
```

solution/1200-1299/1217.Minimum Cost to Move Chips to The Same Position/README_EN.md

+17
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,23 @@ func minCostToMoveChips(position []int) int {
108108
}
109109
```
110110

111+
### **JavaScript**
112+
113+
```js
114+
/**
115+
* @param {number[]} position
116+
* @return {number}
117+
*/
118+
var minCostToMoveChips = function (position) {
119+
let a = 0;
120+
for (let v of position) {
121+
a += v % 2;
122+
}
123+
let b = position.length - a;
124+
return Math.min(a, b);
125+
};
126+
```
127+
111128
### **...**
112129

113130
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* @param {number[]} position
3+
* @return {number}
4+
*/
5+
var minCostToMoveChips = function (position) {
6+
let a = 0;
7+
for (let v of position) {
8+
a += v % 2;
9+
}
10+
let b = position.length - a;
11+
return Math.min(a, b);
12+
};

solution/1200-1299/1218.Longest Arithmetic Subsequence of Given Difference/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@
4848

4949
<!-- 这里可写通用的实现逻辑 -->
5050

51+
**方法一:动态规划**
52+
53+
时间复杂度 $O(n)$。
54+
5155
<!-- tabs:start -->
5256

5357
### **Python3**
@@ -119,6 +123,25 @@ func max(a, b int) int {
119123
}
120124
```
121125

126+
### **JavaScript**
127+
128+
```js
129+
/**
130+
* @param {number[]} arr
131+
* @param {number} difference
132+
* @return {number}
133+
*/
134+
var longestSubsequence = function (arr, difference) {
135+
let ans = 1;
136+
const dp = new Map();
137+
for (const v of arr) {
138+
dp.set(v, (dp.get(v - difference) || 0) + 1);
139+
ans = Math.max(ans, dp.get(v));
140+
}
141+
return ans;
142+
};
143+
```
144+
122145
### **...**
123146

124147
```

solution/1200-1299/1218.Longest Arithmetic Subsequence of Given Difference/README_EN.md

+19
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,25 @@ func max(a, b int) int {
109109
}
110110
```
111111

112+
### **JavaScript**
113+
114+
```js
115+
/**
116+
* @param {number[]} arr
117+
* @param {number} difference
118+
* @return {number}
119+
*/
120+
var longestSubsequence = function (arr, difference) {
121+
let ans = 1;
122+
const dp = new Map();
123+
for (const v of arr) {
124+
dp.set(v, (dp.get(v - difference) || 0) + 1);
125+
ans = Math.max(ans, dp.get(v));
126+
}
127+
return ans;
128+
};
129+
```
130+
112131
### **...**
113132

114133
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* @param {number[]} arr
3+
* @param {number} difference
4+
* @return {number}
5+
*/
6+
var longestSubsequence = function (arr, difference) {
7+
let ans = 1;
8+
const dp = new Map();
9+
for (const v of arr) {
10+
dp.set(v, (dp.get(v - difference) || 0) + 1);
11+
ans = Math.max(ans, dp.get(v));
12+
}
13+
return ans;
14+
};

0 commit comments

Comments
 (0)