LeetCode算法题-Excel Sheet Column Number(Java实现)

【LeetCode】JAVA 代码模板(总结中) 【LeetCode】代码模板,刷题必会 大佬的模板是Python,容我总结一套Java的 阅读详情

这是悦乐书的第182次更新,第184篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第41题(顺位题号是171)。给定Excel工作表中显示的列标题,返回其对应的列号。例如:

A - > 1
B - > 2
C - > 3
Z - > 26
AA - > 27
AB - > 28

输入:“A”
输出:1

输入:“AB”
产量:28

输入:“ZY”
输出:701

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

这和前天的题目根据数字输出字符串列名类似,不过今天这道题是反过来的,根据列名字符串输出代表的数字。

既然是反过来,那么此处就应该是要用乘法了,并且我们也可以观察几组数据得到大致的算法。

"AA"表示数字28,可以看做26x1+1

"AAA"表示数字703,可以看做26x(26+1)+1

"AAAA"表示数字18279,可以看做 26x(26x(26+1)+1)+1

每次循环时,新的sum等于上一次循环的sum乘以26加上当前循环字符所表示的数字。

特殊情况:当字符串为空或者去掉空格后的长度等于0时,直接返回0。

public int titleToNumber(String s) {
    int sum = 0;
    if (s.isEmpty() || s.trim().length() == 0) {
        return 0;
    }
    int len = s.length()-1;
    for (int i=0; i<=len; i++) {
        sum = (s.charAt(i)-'A' + 1) + sum*26;
    }
    return sum;
}

03 第二种解法

我们同样以上面的三个字符串举例。

"AA"表示数字28,可以看做1乘以26的一次方加上1乘以26的0次方。

"AAA"表示数字703,可以看做1乘以26的2次方加上1乘以26的1次方再加上1乘以26的0次方。

"AAAA"表示数字18279,可以看做1乘以26的3次方加上1乘以26的2次方再加上1乘以26的1次方再加上1乘以26的0次方。

这种就类似二进制数转十进制数一样,变成了26进制数转十进制数。

特殊情况:当字符串为空或者去掉空格后的长度等于0时,直接返回0。

public int titleToNumber2(String s) {
    int res = 0;
    if (s.isEmpty() || s.trim().length() == 0) {
        return 0;
    }
    int col = s.length() - 1;
    for (int i = 0; i < s.length(); i++) {
        res += (s.charAt(i) - 64) * Math.pow(26, col--);
    }
    return res;
}

Math.pow(x,y)方法可返回 x 的 y 次幂的值。

04 小结

算法专题目前已连续日更超过一个月,算法题文章41+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

窥秘Windows 10:SAM密码破解 Windows 10作为广受欢迎的操作系统,拥有一套强大的安全措施来保护用户账号和数据安全。然而,有时候我们需要了解更多关于密码破解的知识,以加强我们的防护措施。本文将深入探讨如何突破Windows 10的SAM密码,以便更好地了解密码安全性并加强系统的保护。 阅读详情

相关推荐

Anolis OS 23实战:5分钟搞定AI环境配置(含NVIDIA驱动一键安装)

本文详细介绍了如何在Anolis OS 23上快速配置AI开发环境,包括NVIDIA驱动的一键安装和TensorFlow、PyTorch等AI框架的部署。通过智能硬件适配引擎和优化后的二进制包,用户可在5分钟内完成传统需要数小时的配置工作,显著提升AI项目开发效率。

weixin_30335575的博客 537

leetcode-算法-Excel表列名称

1、简单题-Excel表列名称 给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例1: 输入: 1 输出: "A" 示例2: 输入: 28 输出: "AB" 示例3: 输入: 701 输出: "ZY" 解答: /* A = 1 AA = 2...

背着行囊去远方的博客 285

深度强化学习算法PPO训练Pendulum

returnadv = 0print('状态空间维度:', state_n)print('动作空间维度:', action_n)steps = []if done:breakif done:breakelse:steps = []if done:break。

weixin_43336108的博客 808

LeetCode算法题171:Excel表列序号解析

给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -&gt; 1 B -&gt; 2 C -&gt; 3 ... Z -&gt; 26 AA -&gt; 27 AB -&gt; 28 ... 示例1: 输入: "A" 输出: 1 示例2: 输入: "AB" 输出: 28 示例3: 输入: "ZY" 输出: 7..

Alex的博客 459

HAL库STM32CubeMX+DHT11温湿度传感器模块化驱动与OLED显示实战

本文详细介绍了基于HAL库和STM32CubeMX开发DHT11温湿度传感器模块化驱动的实战过程。通过精确的时序控制和模块化封装,实现了传感器数据采集,并结合OLED显示模块实时展示温湿度信息,为嵌入式开发者提供了完整的解决方案。

h6j7k8l9p0的博客 1135

newman的使用

Newman是一个基于Node.js的postman命令行工具,用于运行和测试PostmanAPI 请求的集合。它允许用户在命令行环境中执行Postman的JSON文件,从而实现接口自动化测试和持续集成,同时支持用户进行自动化测试、批量执行请求、生成报告等操作。

m0_62825058的博客 1617

excel sheet column number java,LeetCode 算法题 - Excel Sheet Column Number(Java 实现)

LeetCode 算法题 - Excel Sheet Column Number(Java 实现)这是悦乐书的第 182 次更新, 第 184 篇原创01 看题和准备今天介绍的是 LeetCode 算法题中 Easy 级别的第 41 题 (顺位题号是 171). 给定 Excel 工作表中显示的列标题, 返回其对应的列号. 例如:A->1B->2C->3Z->26AA-&g...

weixin_29699041的博客 216

手把手教你用VL822-QFN88设计一个支持PD快充的Type-C四口HUB(附原理图要点)

本文详细介绍了基于VL822-QFN88芯片设计支持PD快充的Type-C四口HUB的完整流程,包括芯片选型、系统架构设计、原理图要点、PCB布局及固件配置。特别适合硬件工程师和电子设计爱好者,帮助实现高速数据传输与快速充电的多端口扩展方案。

weixin_30832405的博客 518

excel sheet column number java,LeetCode算法题-Excel Sheet Column Number(Java实现)

这是悦乐书的第182次更新,第184篇原创 01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第41题(顺位题号是171)。给定Excel工作表中显示的列标题,返回其对应的列号。例如:A - > 1 B - > 2 C - > 3 Z - > 26 AA - > 27 AB - > 28输入:“A” 输出:1输入:“AB” 产量:28输入:“ZY...

weixin_34665386的博客 232

EPO: Hierarchical LLM Agents with Environment PreferenceOptimization

长期决策和规划任务依然是基于大型语言模型(LLM)的智能体面临的一大挑战(Valmeekam 等,2023;Liu 等,2023;Silver 等,2024)。这些任务需要智能体进行多步骤的规划,同时保持行为的一致性和目标导向,这对于通常被设计用于即时和局部预测的大型语言模型来说颇为困难。此外,针对具身智能体的大型语言模型微调面临的一个关键难题是大规模标注数据的需求(Reed 等,2022)。

qq_52053775的博客 143

LPDDR6 Efficiency Mode 技术探讨

LPDDR6 Efficiency Mode 技术探讨

zilan23的博客 1164

【Leetcode】Excel Sheet Column Number

题目链接:https://leetcode.com/problems/excel-sheet-column-number/ 题目: Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding colum

业精于勤,荒于嬉 1934

基于FPGA的多级CIC滤波器实现四倍插值

基于FPGA的多级CIC滤波器实现四倍插值 原文链接:基于FPGA的多级CIC滤波器实现四倍插值 在《基于FPGA的多级CIC滤波器实现四倍抽取一》和《基于FPGA的多级CIC滤波器实现四倍抽取二》中我们先来了解滑动平均滤波器、微分器、积分器以及梳状滤波器原理以及它们的幅频响应。此篇我们将用verilog实现基于FPGA的多级CIC滤波器实现四倍插值。 1 CIC滤波器的基本概述 CIC(积分梳状...

baidu_34971492的博客 3142

Java [Leetcode 171]Excel Sheet Column Number

题目描述: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 解题思路: 循环读取数字,从左向右读取,每次该位字符减去A加上一即为该为数字代表的数值,然后每次循环前将之前的结果乘以26.表示该表示为26进制。 代码如下: pu...

dkk37351的博客 157

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

leetcode:Excel Sheet Column Number

题目链接:Excel Sheet Column Number Related to question: Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number.For example:A -> 1 B -> 2 C -> 3 .

Stay hungry,Stay foolish 451

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LeetCode 171. Excel Sheet Column Number & 168. Excel Sheet Column Title

LeetCode 171. Excel Sheet Column Number & 168. Excel Sheet Column Title

Appletable的博客 515

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode笔记:171. Excel Sheet Column Number

模仿处理excel中的列

Minecraft 3181

LeetCode Excel Sheet Column Number

原题链接在这里:https://leetcode.com/problems/excel-sheet-column-number/ 这道题与Excel Sheet Column Title相呼应。Time O(n), Space O(1). 注意cast时后面的数要加个整体的括号。 AC Java: public class Solution { public int title

Dylan_Java_NYC的博客 448

LeetCode Factorial Trailing Zeroes, Excel Sheet Column Number

Factorial Trailing Zeroes 题意:给一个数n,问n!的末尾有几个0 第一反应是0只有2、5相遇能出一个0,所以n有几个5的倍数似乎就是答案了。 (n!有k个5,肯定有k个2,能凑出相对应的0) 但是如果是像25的怎么办?他能凑出100,两个0,;所以前面单单5的倍数不够,还应该是5^i,将这个i加起来。 代码如下: public class Solution {

miss_snow_m的专栏 980

leetcode 之Excel Sheet Column Title

Total Accepted: 9173 Total Submissions: 52899 Given a positive integer, return its corresponding column title as appear in an Excel sheet. For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27

TO TOP CODER 805

leetcode-171 Excel Sheet Column Number

题目 Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -&gt; 1 B -&gt; 2 C -&gt; 3 ... Z -&gt; 26 AA -&gt; 27 AB -&gt; 28 ... Example 1: Input: “...

不思量 229

LeetCode-168. Excel Sheet Column Title [C++][Java]

Given an integercolumnNumber, returnits corresponding column title as it appears in an Excel sheet.

贫道绝缘子的博客 867

leetcode excel Sheet Column Number

Related to questionExcel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -> 3 ...

diaocimo4777的博客 130

LeetCode 171 -Excel Sheet Column Number ( JAVA )

Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -> 3 ...

UckyK的专栏 710

LeetCode Excel Sheet Column Title

在Excel中,列名的表示形式为A,B,C…AA,AB…,给定一个正整数,将其转换为对应的列名。

DRFish 3567
上一篇: LeetCode算法题-Majority Element(Java实现)
下一篇: LeetCode算法题-Factorial Trailing Zeroes(Java实现)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值