สมมติว่าเรามีจำนวนเต็มบวก เราต้องหาชื่อคอลัมน์ที่เกี่ยวข้องตามที่ปรากฏในแผ่นงาน 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