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

  • 相关阅读:
    Summarizing NUMA Scheduling两篇文章,解释得不错
    VCAP5-DCA – What’s new?
    NUMA总结。
    NUMA and vNUMA
    NUMA
    vsphere 5.1 性能最佳实践。
    vsphere性能
    mysql的事务,隔离级别和锁
    mysql5.7 生成列 generated column
    mysql8 公用表表达式CTE的使用
  • 原文地址:https://www.cnblogs.com/donglt-5211/p/10110109.html
Copyright © 2011-2022 走看看