Skip to content

Commit 46490bb

Browse files
committed
字符串题目
1 parent ea2fdd8 commit 46490bb

File tree

2 files changed

+62
-1
lines changed

2 files changed

+62
-1
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# algorithm
2-
数据结构算法(javascript描述)
2+
数据结构算法(javascript描述)
3+
记录自己学习算法和数据结构的过程,有关LeetCode原题会附上链接

string/test.js

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。
2+
// 请定义一个函数实现字符串左旋转操作的功能。
3+
// 比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
4+
var reverseLeftWords = function (s, n) {
5+
const newEnd = s.slice(0, n)
6+
let res = ''
7+
for (let i = newEnd.length; i < s.length; i++) {
8+
res += s[i]
9+
}
10+
return res + newEnd
11+
};
12+
// 给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。
13+
14+
// 请返回 nums 的动态和。
15+
16+
//  
17+
18+
// 示例 1:
19+
20+
// 输入:nums = [1,2,3,4]
21+
// 输出:[1,3,6,10]
22+
// 解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
23+
/**
24+
* @param {number[]} nums
25+
* @return {number[]}
26+
*/
27+
var runningSum = function (nums) {
28+
const dp = []
29+
for (let i = 0; i < nums.length; i++) {
30+
let res = 0
31+
for (j = 0; j <= i; j++) {
32+
res += nums[j]
33+
}
34+
dp.push(res)
35+
}
36+
return dp
37+
};
38+
var runningSum = function (nums) {
39+
for (let i = 1; i < nums.length; i++) {
40+
nums[i] += nums[i - 1]
41+
}
42+
return nums
43+
};
44+
// 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。
45+
46+
// 示例 1:
47+
48+
// 输入:[4,2,1]
49+
50+
// 输出:4
51+
52+
// 解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。
53+
/**
54+
* @param {number[]} coins
55+
* @return {number}
56+
*/
57+
var minCount = function (coins) {
58+
59+
};
60+
console.log(runningSum([1, 2, 3, 4]))

0 commit comments

Comments
 (0)