意在初学者记录学习过程,如有错误欢迎指正。

题目描述

给定一个正整数,返回它在 Excel 表中相对应的列名称。

例如,

1 -> A
2 -> B
3 -> C

26 -> Z
27 -> AA
28 -> AB

示例 1:

输入: 1
输出: “A”

示例 2:

输入: 28
输出: “AB”

示例 3:

输入: 701
输出: “ZY”

思路

首先要理解进制转换,参考:https://zhuanlan.zhihu.com/p/75006709
本题中需要注意不是直接的10进制转26进制,个位范围是1-26,而不是一般进制转换的0-25。

代码

public String convertToTitle(int n) {StringBuilder sb = new StringBuilder();while (n > 0) {int c = n % 26;if(c == 0){c = 26;n -= 1;}sb.insert(0, (char) ('A' + c - 1));n /= 26;}return sb.toString();
}

此处的

(char) (‘A’ + c - 1)
是通过对 A 的偏移,强制将整数转为了字符。

比如 c = 3,那么 ‘A’ + c - 1,会把 A 根据 ASCII 码值转为 65,然后计算 65 + c - 1 = 65 + 3 - 1 = 67,然后 (char)67,根据 ASCII 码值就刚好是字符 C。

LeetCode168 简单题 Java题解相关推荐

  1. LeetCode26 简单题 Java题解

    意在初学者记录学习过程,如有错误欢迎指正. 题目描述 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修 ...

  2. L1-014 简单题 - java

    L1-014 简单题 时间限制 400 ms 内存限制 64 MB 题目描述: 这次真的没骗你 -- 这道超级简单的题目没有任何输入. 你只需要在一行中输出事实:This is a simple pr ...

  3. 算法提高 第五题 java 题解 1096

    第五题(15分) 题目描述 实验室的王大神设计的机器人"学霸"掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10, ...

  4. cccc-gplt 团体程序设计天梯赛JAVA题解

    1. 前言 大多是想用java解的,有些题java会超时就换成了c++ Github 天梯赛 2. 目录 编号 标题 题解 分类 L1-001 Hello, World Java 水题 L1-002 ...

  5. java变量中不属于复合类型的数据类型是_2006新版JAVA题解(JAVA简单数据类型)...

    2006新版JAVA题解(JAVA简单数据类型) 2007年1月22日来源:233网校网校课程 在线题库评论 分享到 1.下列哪一个是合法的标识符: A.12class; B.+viod; C.-5; ...

  6. 一些简单的java编程题(2) ————古典问题(兔子问题)

    版权声明: 本文为博主原创文章,未经博主允许不得转载. /* (程序头部注释开始) 版权声明:保留个人权利. 如程序有不当之处,敬请指正.* 文件名称: <一些简单的java编程题(2) --- ...

  7. leetcode热题HOT100汇总——java题解已完结撒花

    文章目录 前言 1. 两数之和 2. 两数相加 3.无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串 10. 正则表达式匹配 11. 盛最多水的容器 15. 三数之和 17. ...

  8. 一些简单的java编程题(1) ————求10000以内的完数

    版权声明:本文为博主原创文章,未经博主允许不得转载. /* (程序头部注释开始) 版权声明:保留个人权利. 如程序有不当之处,敬请指正.* 文件名称: <一些简单的java编程题(1) ---- ...

  9. 笔试编程题 拼凑正方形 Java题解 牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方

    题目描述 牛牛有4根木棍,长度分别为a,b,c,d.羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一.牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬 ...

最新文章

  1. php trace 图形,php 方便水印和缩略图的图形类
  2. Can't use asio::placeholders::error
  3. 如果修改了表结构的话,可能也需要将调用到表的存储过程、函数等也修改一下,以下语句可以查询到那些对象调用到被修改的表...
  4. 如何解决高并发,秒杀问题
  5. C语言 | 递增运算符
  6. 表达式求值(二叉树方法/C++语言描述)(二)
  7. vim 插件cscope 使用
  8. 企业网站 源码 e-mail_临汾网站制作,B2B软件哪家好
  9. python echo off_生活中的python-随机分配单词输出至word
  10. 高薪、稀缺人才必备哪些技能?BDTC大会告诉你,附最新议程!
  11. 敢死队核心:{买了就涨指标}
  12. thinkphp 模板 in
  13. Latex 合并pdf文档
  14. 例2.9 找x - 九度教程第17题(查找)
  15. 主键和外键(MySQL)
  16. 提升用户体验的40个Firefox 4扩展
  17. MATLAB视频转图片保存
  18. 一元云购短信-配置修改
  19. 变上限积分求导的原理
  20. 系统镜像ISO、GHO、WIM、ESD的区别

热门文章

  1. Vue element-loading设置加载状态位置
  2. Linux下Mysql卸载安装教程:卸载老版本,安装新版本
  3. JAVA循环嵌套+分支结构游戏---(以《三国演义》中三英大战吕布为例)
  4. C语言判断素数(求素数)思路
  5. 蓝牙智能指纹锁解决方案OM6621PW
  6. android 实现aac音频合并拼接
  7. Dubbo知识点总结
  8. 短信群发限制,你想了解的都在这里
  9. StarUML破解方式
  10. electron asar