每日编程中遇到任何疑问、意见、建议请公众号留言或直接撩Q474356284(备注每日编程)
今日问题:
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
解决方法:
算法思想:
根据题意的描述,不难发现,其实就是26进制转十进制。
将每一位的数字乘以权值然后累加即可。
例如“AB”,s.length = 2
i = 0;number = 0 *26 +1 ;
i = 1;number = 1 * 26 + 1+1;
number = 28
C++代码:
C代码:
Java代码:
明日题目预告:
数组拆分 I
给定长度为2n 的数组, 你的任务是将这些数分成n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。
示例 1:
输入: [1,4,3,2]
输出: 4
解释: n 等于 2, 最大总和为 4 = min(1, 2) +min(3, 4).
提示:
n是正整数,范围在 [1, 10000].
数组中的元素范围在 [-10000, 10000].
