算法刷题|字符串——Excel 表列序号&Excel列名称

本文介绍了如何使用Java实现Excel列名称与列号之间的转换。通过示例代码展示了`titleToNumber`和`convertToTitle`两个方法,分别用于将列名转换为列号和列号转换为列名。作者分享了在解决问题过程中的思考和学习经历,引用了LeetCode上的相关算法。
摘要由CSDN通过智能技术生成

/**
 * Author:SunLala
 * Date: 2022/5/22
 * 功能描述:()
 */
public class Test21 {
    public static void main(String[] args) {

        System.out.println( titleToNumber("ZY"));
        System.out.println( titleToNumber("AB"));

    }

    public static int titleToNumber(String columnTitle) {
        int res = 0;
        for (int i = 0; i < columnTitle.length() ; i++) {
            int k = columnTitle.charAt(i)-'A'+1;

            res += k*(Math.pow(26,columnTitle.length()-1-i));
            System.out.println(res);
        }
        return res;
    }
}

知识点:

java中表达多少次方用

Math.pow(m,n),代表m的n次方,

Excel列名称


    public static String convertToTitle(int columnNumber) {
        if(columnNumber <= 0){
            return "";
        }
        StringBuffer sb = new StringBuffer();
        while (columnNumber>0){
            columnNumber--;
            sb.append((char) (columnNumber%26 + 'A'));
            columnNumber = columnNumber/26;
        }
        return sb.reverse().toString();
    }

最终败了,该Excel列名称 算法是参考别人的https://leetcode.cn/problems/excel-sheet-column-title/comments/

自己想到了除26,想到了求模,想到了要减1,愣是写不出来符合所有case的算法

自己写的不亮了,还是学习路上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值