0
我要實現的是這樣的:獲得動態字母順序給出的位置JAVA
A,B,C,...,Z,AA,AB,AC,...,ZZ,AAA, AAB,AAC,... AAZ,ABA,ABB,ABC,... ABZ,..,ZZZ,AAAA,...
我想:
public String getSequence(int pos){
StringBuilder sb = new StringBuilder();
int exponential, digit;
int totalExponential = range;
int maxExp = 0;
int tempPos = 0;
for(int i=1; tempPos < pos; i++, maxExp++) //loop to find the greatest exponent
tempPos += (int)Math.pow(range, i);
maxExp--; //greatest exponent is decremented by 1
for(int i=1; i<maxExp; i++)
totalExponential += (int)Math.pow(range, maxExp);
while(maxExp>0){
exponential = (int)(Math.pow(range, maxExp));
pos -= exponential;
digit = (pos-1)/totalExponential;
sb.append((char)(start+digit));
totalExponential -= exponential;
maxExp--;
}
}
它正常工作,直到位置1378,
只但錯誤顯示了下一個位置
有誰有代碼來實現這一點。我更喜歡有遞歸解決方案。謝謝
真棒。謝謝BevynQ。 –