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

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

Leetcode 168. Excel Sheet Column Title

2019-11-11 01:51:15
字體:
來源:轉載
供稿:網友

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; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九龙坡区| 博客| 齐齐哈尔市| 伊吾县| 泰来县| 大庆市| 蒲城县| 蒙阴县| 宜都市| 石门县| 莎车县| 怀远县| 宜兴市| 香港 | 海晏县| 自贡市| 三穗县| 榆林市| 泸定县| 抚远县| 塔城市| 兰溪市| 榆中县| 武平县| 茂名市| 塘沽区| 黑龙江省| 海安县| 靖江市| 大渡口区| 滕州市| 陇川县| 福安市| 阿拉善右旗| 天长市| 嘉黎县| 壤塘县| 黄陵县| 左云县| 江永县| 水城县|