給定乙個正整數 n ,輸出外觀數列的第 n 項。
「外觀數列」是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。
你可以將其視作是由遞迴公式定義的數字字串序列:
countandsay(1) = "1"
countandsay(n) 是對 countandsay(n-1) 的描述,然後轉換成另乙個數字字串。
思路分享,主要是對字串的相同字元進行處理,運用到「雙指標」的概念。利用stringbuilder 來接收每一次更改之後的字串。
packagecom.lhb.offer;
/***
@author
lhb * @date 2022/3/15 */
public
class
offer_38
start =pos;
}str =sb.tostring();
}return
str;
}public
static
void
main(string args)
}
劍指offer 3 1陣列中重複的數字
通過一次排序,只要從頭到尾掃瞄陣列中的元素,找到相鄰不相等的元素即可。public static void main string args int find 0 arrays.sort numbers for int i 0 i numbers.length 1 i system.out.prin...
劍指offer 31 棧的壓入 彈出序列
輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 思路...
劍指offer 31 棧的壓入 彈出序列
輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 ...