国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Leetcode 168. Excel Sheet Column Title

2019-11-11 01:48:16
字體:
來源:轉載
供稿:網友

Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB

s思路: 1. 把10進制轉換26進制。 2. 這種一一映射,找出背后的數學公式(n-1)%26+’A’。因為:n%26,當n=26,余數就是0,而0是沒定義的,所以先減1,然后去余數,再加1,就妥了! 3. 有時候,發現判斷太多,導致沒有美感,讓人厭煩,一般是自己打開的方式不對,這里的啟發是:把這些多余的if-else**壓縮**成一個簡潔完美的數學公式即可!果然,數學才是王道,一切現象從數學里出,數學是一切現象之母呀! 4. 由于對26取余的輸出是[0,25],而我們希望的結果是[1,26],因此值域差1.那就先減1,運算后在[0,25]內,然后加1,就得到[1,26]結果。我以前就認為這是一個trick,沒認識到這背后數學的應用可以起到簡化代碼,讓程序有美感!

//羅嗦的做法:不推薦class Solution {public: string convertToTitle(int n) { // string res; string table="0ABCDEFGHIJKLMNOPQRSTUVWXYZ"; while(n){ if(n%26){//bug res=table[n%26]+res; n/=26; } else{ res=table[26]+res; n=n/26-1; } } return res; }};//優化:不用列舉所有格式,直接計算+'A'即可。//用數學代替判斷,推薦!!!class Solution {public: string convertToTitle(int n) { // string res; while(n){ res=char((n-1)%26+'A')+res; n=(n-1)/26; } return res; }};
上一篇:1084

下一篇:poj1005

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 革吉县| 晋州市| 通江县| 泰兴市| 衡阳县| 聊城市| 常熟市| 商丘市| 麟游县| 西吉县| 沾益县| 会理县| 读书| 那曲县| 玛沁县| 澄城县| 长海县| 仙游县| 梓潼县| 黄山市| 荥经县| 阳朔县| 江城| 宁晋县| 凤翔县| 马关县| 永年县| 介休市| 肃北| 双流县| 蒙山县| 襄樊市| 清新县| 宁化县| 策勒县| 涟水县| 随州市| 扬州市| 扎兰屯市| 宜章县| 沁阳市|