168&171 leetcodeタイトル:
、B、C、...、Z、AA、AB、...、AZ、BA、...、ZZZ、AAAA .... i番目の文字列を検索
string solve(int num) {
string ans;
while(num--) { // 将0~25映射到‘A’~‘Z’
int val = num%26;
ans += 'A'+val;
num /= 26;
}
reverse(ans.begin(), ans.end());
return ans;
}
タイトル2
既知の配列のサイズであるN、アレイBシーク
B [I] = A [0] Aが[1] ... [I. 1- [Iは+ 1] ... [1-N]
O(N)時間計算量はO(1)空間の複雑さを程度。
これは、除去サイクルを使用私は、追加の変数他のメモリを必要とします。
void solve(int *a, int *b, int N) {
int i;
b[0] = 1;
for(i = 1 ; i < N; i++)
b[i] = b[i-1]*a[i-1];
b[0] = a[--i];
for(--i; i > 0; i--) {
b[i] *= b[0];
b[0] *= a[i];
}
}