Offer 31 外觀數列

2022-10-08 22:33:26 字數 575 閱讀 8845

給定乙個正整數 n ,輸出外觀數列的第 n 項。

「外觀數列」是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。

你可以將其視作是由遞迴公式定義的數字字串序列:

countandsay(1) = "1"

countandsay(n) 是對 countandsay(n-1) 的描述,然後轉換成另乙個數字字串。

思路分享,主要是對字串的相同字元進行處理,運用到「雙指標」的概念。利用stringbuilder 來接收每一次更改之後的字串。

package

com.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就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 ...