20220509, 2min,中间相隔11天
|
```javascript
/**
- @param {string} columnTitle
- @return {number}
*/
// 21:35 -> 21:37
var titleToNumber = function(columnTitle) {
let sum = 0;
for (let i = 0; i < columnTitle.length; i++) {
} return sum; }; ``` | | —- |const n = columnTitle[i].charCodeAt() - 'A'.charCodeAt() + 1;
sum = sum * 26 + n;
20220427. 8min
|
```javascript
/**
- @param {string} columnTitle
- @return {number} / // 16:22 -> 16:30 var titleToNumber = function(columnTitle) { let ans = 0; for (let i = 0; i < columnTitle.length; i++) { // ans += ans 26 + columnTitle[i] // bug:columnTitle[i]是字母,不是数字 const n = columnTitle[i].charCodeAt() - ‘A’.charCodeAt() + 1; // ans += ans 26 + n; // bug ans = ans 26 + n; } return ans; };
|
| --- |
<a name="v6940"></a>
## 20220421, 6min
| <br />```javascript
/**
* @param {string} columnTitle
* @return {number}
*/
// 15:14 -> 15:20
var titleToNumber = function(columnTitle) {
let sum = 0;
for (let i =0; i < columnTitle.length; i++) {
const num = columnTitle[i].charCodeAt() - 'A'.charCodeAt() + 1;
// sum += sum * 26 + num; // bug:没有加
sum = (sum * 26 + num);
}
return sum;
};
| | —- |
20220420, 4min
|
```javascript
/**
- @param {string} columnTitle
- @return {number} / // 10:50 -> 10:54 var titleToNumber = function(columnTitle) { // const arr = columnTitle.split(‘’); let ans = 0; for (let i = 0; i < columnTitle.length; i++) { const cur = columnTitle[i].charCodeAt() - ‘A’.charCodeAt() + 1; ans = ans 26 + cur; } return ans; }; ``` | | —- |
20220419, 14min,first time
|
```javascript
/**
- @param {string} columnTitle
- @return {number}
/
// 20:49 -> 21:03
var titleToNumber = function(columnTitle) {
const obj = {
‘A’: 1,
‘B’: 2,
‘C’: 3,
‘D’: 4,
‘E’: 5,
‘F’: 6,
‘G’: 7,
‘H’: 8,
‘I’: 9,
‘J’: 10,
‘K’: 11,
‘L’: 12,
‘M’: 13,
‘N’: 14,
‘O’: 15,
‘P’: 16,
‘Q’: 17,
‘R’: 18,
‘S’: 19,
‘T’: 20,
‘U’: 21,
‘V’: 22,
‘W’: 23,
‘X’: 24,
‘Y’: 25,
‘Z’: 26,
}
let arr = columnTitle.split(‘’);
let sum = 0;
let i = 0;
while(arr.length > 0) {
sum += obj[arr.pop()] (26 i);
i++;
}
return sum;
};
```
执行用时:72 ms, 在所有 JavaScript 提交中击败了57.17%的用户
内存消耗:42.9 MB, 在所有 JavaScript 提交中击败了9.46%的用户
通过测试用例:1002 / 1002**
改进
字符与数字的对应关系可以用charCodeAt()算出来,而不是用单独的对象维护```javascript
/**
- @param {string} columnTitle
- @return {number} / var titleToNumber = function(columnTitle) { let arr = columnTitle.split(‘’); let sum = 0; let i = 0; while(arr.length > 0) { const n = arr.pop().charCodeAt() - ‘A’.charCodeAt() + 1; sum += n (26 ** i); i++; } return sum; }; ``` | | —- |