📅  最后修改于: 2023-12-03 15:40:02.773000             🧑  作者: Mango
本文将介绍两种关于计算数组中字符串字符的加权和的方法,分别为使用for循环和使用reduce()函数。两种方法的实现代码均使用JavaScript语言。
思路:
代码实现:
function calculateWeightedSum(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
const str = arr[i];
let strSum = 0;
for (let j = 0; j < str.length; j++) {
strSum += (str.charCodeAt(j) - 64) * (j + 1);
}
sum += strSum;
}
return sum;
}
思路:
代码实现:
function calculateWeightedSum(arr) {
return arr.reduce((sum, str) => {
const chars = str.split('');
const strSum = chars.reduce((acc, char, index) => {
return acc + (char.charCodeAt(0) - 64) * (index + 1);
}, 0);
return sum + strSum;
}, 0);
}
以上两种方法的时间复杂度均为O(n^2),但使用reduce()函数可以使代码更加简洁易懂。因此,当数组中的字符串长度较大时,建议使用方法二。