算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
今天和大家聊的问题叫做 Excel表列序号 ,我们先来看题面:
https://leetcode-cn.com/problems/excel-sheet-column-number/
Given a column title as appear in an Excel sheet, return its corresponding column number.
题意
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
样例
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
解题
这道题是Excel表列名称的反向写法,难度低了很多,不用考虑26进制到26自动进位的问题。没什么技巧,暴力破解。
暴力法
字符串转字符数组,从最后开始遍历转成数字,相加得结果
class Solution {
public static int titleToNumber(String s) {
char []ss=s.toCharArray();
int count=0,muti=1;;
for(int i=ss.length-1;i>=0;i--){
int t=ss[i]-'A'+1;
count+=t*muti;
muti*=26;
}
return count;
}
}
好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。
上期推文:
LeetCode刷题实战167:两数之和 II - 输入有序数组
LeetCode刷题实战170:两数之和 III - 数据结构设计