สมมติว่าเรามีจำนวนเต็มบวก เราต้องหาชื่อคอลัมน์ที่เกี่ยวข้องตามที่ปรากฏในแผ่นงาน Excel ดังนั้น [1 :A], [2 :B], [26 :Z], [27 :AA], [28 :AB] เป็นต้น
ดังนั้นหากอินพุตเท่ากับ 28 เอาต์พุตจะเป็น AB
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ในขณะที่ n ไม่ใช่ศูนย์ ให้ทำ -
-
n :=n - 1
-
res :=res + n mod 26 + ASCII ของ 'A'
-
น :=n / 26
-
-
ย้อนกลับความละเอียดอาร์เรย์
-
ผลตอบแทน
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −
#include <bits/stdc++.h> using namespace std; class Solution { public: string convertToTitle(int n) { string res; while(n){ res += (--n)%26 + 'A'; n /= 26; } reverse(res.begin(), res.end()); return res; } }; main(){ Solution ob; cout << (ob.convertToTitle(30)); }
อินพุต
30
ผลลัพธ์
AD