zoukankan      html  css  js  c++  java
  • 剑指offer----输入用字母表示的列号编码,核心内容:二十六进制变十进制

    题目:

    用A表示第一列,用B表示第二列。。。。用Z表示第26列,用AA表示第27列。。。请写出一个函数,输入用字母表示的列号编码,输出它是第几列。

    思路:

    此问题最精彩之处,核心---二十六进制变十进制

          function calColumn(){
               // var calStr = document.getElementById("preArr").value.toUpperCase();
                var calStr = 'AB'.toUpperCase()//将输入的内容都变成大写
                var result = 0;
                for(var i = calStr.length; i > 0; i--) {
                    var ch = calStr.charCodeAt(i-1)-64;
                    if( i == calStr.length ){
                        result += ch
                    }else{
                        //答疑:参考16进制 BFF=12*16^2+15*16+15
                        result += Math.pow(26, calStr.length-i) ;//result的结果就是列号
                    }
                }
                document.getElementById("showArr").value=result
            }

    此页面下载后,直接放在浏览器演示,即可成功

    git源码页面展示内容:https://github.com/Kristen-D/Algorithms/blob/master/algorithm/binaryOfNum/letterColumn.html

  • 相关阅读:
    centos 6 升级gcc
    linux fdisk 分区
    centos使用163的源
    工作流发布成功但不能自动启动
    可怕的断电
    FTP 之 550 permission denied
    Track & Trace
    AutoKey思想的應用(二)
    Windows登錄過程淺析
    snapshot.exe出現異常
  • 原文地址:https://www.cnblogs.com/donglt-5211/p/10110109.html
Copyright © 2011-2022 走看看