Algorithms—171.Excel Sheet Column Number
2015-07-01 17:22
344 查看
思路:曾经和朋友讨论过这个问题,其实本质上是26进制,把Z当做A0就可以了。
耗时:344ms。中游水准。
public class Solution {
public int titleToNumber(String s) {
int[] a=new int[s.length()];
boolean flag=false;
for (int i = s.length()-1; i>=0; i--) {
String k=s.substring(i,i+1);
int ik= (int)(k.toCharArray()[0])-64;
if (flag) {
ik++;
}
if (ik!=26) {
a[s.length()-1-i]=ik;
flag=false;
}else {
a[s.length()-1-i]=0;
flag=true;
}
}
int p=1;
int sum=0;
for (int i = 0; i < a.length; i++) {
if (i!=0) {
p*=26;
}
sum+=a[i]*p;
}
if (flag) {
return sum+=p*26;
}
return sum;
}
}
耗时:344ms。中游水准。
public class Solution {
public int titleToNumber(String s) {
int[] a=new int[s.length()];
boolean flag=false;
for (int i = s.length()-1; i>=0; i--) {
String k=s.substring(i,i+1);
int ik= (int)(k.toCharArray()[0])-64;
if (flag) {
ik++;
}
if (ik!=26) {
a[s.length()-1-i]=ik;
flag=false;
}else {
a[s.length()-1-i]=0;
flag=true;
}
}
int p=1;
int sum=0;
for (int i = 0; i < a.length; i++) {
if (i!=0) {
p*=26;
}
sum+=a[i]*p;
}
if (flag) {
return sum+=p*26;
}
return sum;
}
}
相关文章推荐
- Google API相关
- PyMongo基本使用
- django 模板路径
- Google推荐的图片加载库Glide介绍
- 使用Google-Authenticator加强服务器SSH登录
- 百度经纬度和google经纬度互转
- Solution to the problem of machine name becomes "bogon" in Mac
- django 实现 group by
- logo切图大小对应的尺寸
- RTB撕开黑盒子 Part 2: Algorithm Meets World
- RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
- Just do it, as the Nike' logotype
- windows7 下配置Django1.5.12
- GC、(四)GC Algorithms: Implementations
- golang(3):beego CRUD demo (1)
- Google研究员Ilya Sutskever:成功训练LDNN的13点建议
- [算法导论]贪心算法(greedy algorithm)
- Google研究员Ilya Sutskever:成功训练LDNN的13点建议
- 谷歌发布照片应用Google Photos
- 我为什么放弃Go语言