蓝桥杯---列名

题目链接:列名

直接模拟出来了

java 复制代码
import java.math.BigInteger;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        StringBuilder s=new StringBuilder("A");
        System.out.println(s.charAt(0));
        for(int i=2;i<=2023;i++){
            int l=s.length();
            char ch=(char)(s.charAt(l-1)+1);
            if(ch<='Z'){
                s.replace(l-1,l,String.valueOf(ch));
            }
            else {
                for(int j=1; ;j++){
                    ch=(char)(s.charAt(l-j)+1);
                    if(ch>'Z'){
                        //两种情况,要么前一位加一,要,要么直接就加一个长度
                        if(l-j==0){
                            //说明要加 例如ZZ
                            s.insert(0,"A");
                            for(int k=1;k<s.length();k++){
                                s.replace(k,k+1,"A");
                            }
                            break;
                        }
                    }
                    else{
                        s.replace(l-j,l-j+1,String.valueOf(ch));
                        for(int k=l-j+1;k<s.length();k++){
                            s.replace(k,k+1,"A");
                        }
                        break;
                    }
                }
            }
            System.out.println("i="+i+" "+s.toString());
        }

    }
}
相关推荐
毕设源码-郭学长5 分钟前
【开题答辩全过程】以 个人任务管理系统APP为例,包含答辩的问题和答案
java
专注VB编程开发20年10 分钟前
vb.net,c#线程池 Dim tasks As New List(Of Task) 线程多了,后面几个可能要等一二秒后再启动
java·linux·jvm
莫寒清12 分钟前
MyBatis 中 ${} 和 #{} 有什么区别?
java·面试·mybatis
2301_8049475832 分钟前
nginx
java·服务器·nginx
plus4s36 分钟前
2月23日(97-99题)
算法
柒.梧.40 分钟前
零基础吃透Java核心基础:JDK/JRE/JVM全解析+跨平台原理
java·开发语言·jvm
hansang_IR41 分钟前
【记录】AT_abc406模拟赛
c++·算法·模拟赛
blackicexs44 分钟前
第六周第一天
数据结构·算法
sheji34161 小时前
【开题答辩全过程】以 基于Java的宠物酒店管理系统设计与实现为例,包含答辩的问题和答案
java·开发语言·宠物
52Hz1181 小时前
力扣20.有效的括号、155.最小栈
python·算法·leetcode