网站建设中提示页面下载,wordpress 发帖,免费域名建站,增值服务包括哪些内容一、需求
给你一个字符串 columnTitle #xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如#xff1a; A - 1 B - 2 C - 3 … Z - 26 AA - 27 AB - 28 … 示例 1#xff1a; 输入: columnTitle “A” 输出: 1 示例 2表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如 A - 1 B - 2 C - 3 … Z - 26 AA - 27 AB - 28 … 示例 1 输入: columnTitle “A” 输出: 1 示例 2 输入: columnTitle “AB” 输出: 28 示例3 输入: columnTitle “ZY” 输出: 701 示例4 输入: columnTitle “ABC” 输出: 731 提示
1 columnTitle.length 7columnTitle 仅由大写英文组成columnTitle 在范围 [A, FXSHRXW] 内
二、思路分析图
一循环方案【O(n)方案】 三、代码
一数据初始化
/*** 入口* 171、Excel 表列序号* 输入* columnTitle ABC* 输出* result1 731* 解释* 1.递归方案* 2.O(n)方案*/
Test
public void suanfa39()
{// 初始化String columnTitle ABC;// 打印// 循环方案【O(n)方案】int result1 this.forTitleToNumber(columnTitle);System.out.println(result1 result1);
}二 循环方案【O(n)方案】
/*** 循环方案【O(n)方案】** param columnTitle* return*/
public int forTitleToNumber(String columnTitle)
{int sum 0;for (int i 0; i columnTitle.length(); i){sum Math.pow(26, i) * (columnTitle.charAt(columnTitle.length() - 1 - i) - 64);}return sum;
}三结果图 作者王子威
四、总结
学习了Excel 表列序号算法这个应该是168的另一种版本思路相反因为有了经验这个就参考了168的思路逆向写的算法兴趣1 总:39加强了对算法的分析能力