国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内丘县| 满城县| 泽州县| 屏东市| 武强县| 嘉善县| 神农架林区| 迁西县| 普定县| 肇源县| 麻栗坡县| 金乡县| 长垣县| 共和县| 嘉荫县| 双江| 姜堰市| 玉林市| 夹江县| 邓州市| 扎赉特旗| 东乌珠穆沁旗| 亳州市| 阿瓦提县| 澜沧| 梁河县| 漳州市| 策勒县| 吉隆县| 吐鲁番市| 彭泽县| 加查县| 凤翔县| 新和县| 池州市| 临猗县| 广德县| 曲松县| 肇州县| 阳春市| 平泉县|