前端算法-Excel表的列名称

简介: 前端算法-Excel表的列名称

题目

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

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

思路一

我们先定义一个arr数组并将26个字母放入,我们为了计算方便,在头部额外加个Z,因为数组的下标是从0开始的,然后进行判断如果当前形参n小于等于26则直接返回对应的arr数组的n位置元素,在声明一个i变量记录余数字符,声明一个str变量记录字符串,在使用循环,进行循环当前形参n大于26的情况,在循环中,我们更新i变量和n变量以及str变量,最后n形参肯定是小于26的,所以我们将其对应于数组中的字符添加到str字符串的头部并返回出去

/**
 * @param {number} n
 * @return {string}
 */
var convertToTitle = function(n) {
    let arr = ['Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
    if(n<=26){
        return arr[n]
    }
    let i = ''
    let str = ''
    while(n>26){
        i = a[n%26]
        n = Math.ceil(n/26)-1
        str = i + str
    }
    str = arr[n] + str
    return str
};

思路二

我们先声明一个res变量用于存放结果,在声明一个Map数据结构,将26个字符全部放进去,然后使用循环进行判断当前columnNumber形参是否大于0,如果是则使用用余数取字符,并赋值给cur变量,在将其添加到res变量的头部,最后使用Math.floor更新columnNumber形参值,最后使用join方法把res数组转换成字符串并返回出去

/**
 * @param {number} columnNumber
 * @return {string}
 */
var convertToTitle = function(columnNumber) {
    let res = [];
    let map = new Map([[1,"A"], [2,"B"], [3,"C"], [4,"D"], [5,"E"], [6,"F"], [7,"G"], [8,"H"], [9,"I"], [10,"J"], [11,"K"], [12,"L"], [13,"M"], [14,"N"], [15,"O"], [16,"P"], [17,"Q"], [18,"R"], [19,"S"], [20,"T"], [21,"U"], [22,"V"], [23,"W"], [24,"X"], [25,"Y"], [26,"Z"]]);
    while(columnNumber > 0){
        let cur = columnNumber % 26 ? columnNumber % 26 : 26;
        res.unshift(map.get(cur));
        columnNumber = Math.floor((columnNumber - cur) / 26);
    }
    return res.join("");
};


目录
打赏
0
0
0
0
1
分享
相关文章
算法备案提示主体名称已被填报,请修改后再进行填报怎么办?
在数字化浪潮中,算法备案是企业合规运营的关键。近期有企业在提交主体备案时遇“主体名称已被填报”的提示,原因是内部信息沟通不畅。解决方案包括找回原账号继续操作或驳回申请重新提交。为预防类似问题,企业应建立备案档案、加强团队沟通并明确责任分工,确保备案流程顺利进行。
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
248 1
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
202 3
杨老师课堂之Excel VBA 程序开发第六讲根据部门列创建工作表
杨老师课堂之Excel VBA 程序开发第六讲根据部门列创建工作表
57 0
💥【exceljs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了用于处理Excel文件的库——ExcelJS,相较于SheetJS,ExcelJS支持更高级的样式自定义且易于使用。表格对比显示,ExcelJS在样式设置、内存效率及流式操作方面更具优势。主要适用于Node.js环境,也支持浏览器端使用。文中详细展示了如何利用ExcelJS实现前端的Excel导出下载和上传解析功能,并提供了示例代码。此外,还提供了在线调试的仓库链接和运行命令,方便读者实践。
643 5
一文了解分而治之和动态规则算法在前端中的应用
该文章详细介绍了分而治之策略和动态规划算法在前端开发中的应用,并通过具体的例子和LeetCode题目解析来说明这两种算法的特点及使用场景。
一文了解分而治之和动态规则算法在前端中的应用
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
365 0
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
64 0
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
1675 0
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
491 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库

热门文章

最新文章