当前位置: 首页 > news >正文

算法39:Excel 表列序号

一、需求

给你一个字符串 columnTitle ,表示 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 <= 7
  • columnTitle 仅由大写英文组成
  • 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
  • 加强了对算法的分析能力
http://www.lryc.cn/news/101673.html

相关文章:

  • Android:ImageView xml方式配置selector 图片切换
  • Spring Boot 缓存 Cache 入门
  • 如何关闭谷歌浏览器自动更新
  • mybatis日志工厂
  • 020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试
  • flask用DBUtils实现数据库连接池
  • SQL注入之布尔盲注
  • 微服务入门---SpringCloud(一)
  • Rust vs Go:常用语法对比(九)
  • Typescript 第五章 类和接口(多态,混入,装饰器,模拟final,设计模式)
  • IFNULL()COALESCE()
  • WPF实战学习笔记23-首页添加功能
  • OpenCV-Python常用函数汇总
  • Vue-router多级路由
  • 前端学习--vue2--2--vue指令基础
  • 【Python机器学习】实验03 logstic回归
  • 面试-杨辉三角python递归实现,二进制转换
  • SPEC CPU 2017 x86_64 Ubuntu 22.04 LTS LLVM 16.0.6 编译 intrate intspeed
  • java备忘录模式
  • iOS--runtime
  • 06. 管理Docker容器数据
  • 计算机视觉常用数据集介绍
  • Arcgis画等高线
  • abp vnext4.3版本托管到iis同时支持http和https协议
  • 2023年全网电视盒子无线ADB修改桌面(无需ROOT)
  • 什么是Java中的Maven?
  • 【C++】总结7
  • 【前端知识】React 基础巩固(四十二)——React Hooks的介绍
  • adb命令丨adb push命令大全_adb操控手机和指令
  • 【腾讯云 Cloud Studio 实战训练营】沉浸式体验编写一个博客系统