給你一個待查數組 queries ,數組中的元素爲 1 到 m 之間的正整數。請你根據如下規則處理全部待查項 queries[i](從 i=0 到 i=queries.length-1):一開始,排列 P=[1,2,3,...,m]。對於當前的 i ,請你找出待查項 queries[i] 在排列 P 中的位置(下標從 0 開始),而後將其從原位置移動到排列 P 的起始位置(即下標爲 0 處)。注意, queries[i] 在 P 中的位置就是 queries[i] 的查詢結果。請你以數組形式返回待查數組 queries 的查詢結果。示例:輸入:queries = [3,1,2,1], m = 5輸出:[2,1,2,1] 解釋:待查數組 queries 處理以下:對於 i=0: queries[i]=3, P=[1,2,3,4,5], 3 在 P 中的位置是 2,接着咱們把 3 移動到 P 的起始位置,獲得 P=[3,1,2,4,5] 。對於 i=1: queries[i]=1, P=[3,1,2,4,5], 1 在 P 中的位置是 1,接着咱們把 1 移動到 P 的起始位置,獲得 P=[1,3,2,4,5] 。 對於 i=2: queries[i]=2, P=[1,3,2,4,5], 2 在 P 中的位置是 2,接着咱們把 2 移動到 P 的起始位置,獲得 P=[2,1,3,4,5] 。對於 i=3: queries[i]=1, P=[2,1,3,4,5], 1 在 P 中的位置是 1,接着咱們把 1 移動到 P 的起始位置,獲得 P=[1,2,3,4,5] 。 所以,返回的結果數組爲 [2,1,2,1] 。
本道題主要考察數組的基本操做。數組
時間複雜度 O(n^2),空間複雜度 O(n)。markdown
03
HTML 實體解析器
題目描述【Medium】
「HTML 實體解析器」 是一種特殊的解析器,它將 HTML 代碼做爲輸入,並用字符自己替換掉全部這些特殊的字符實體。HTML 裏這些特殊字符和它們對應的字符實體包括:雙引號:字符實體爲 " ,對應的字符是 ''。單引號:字符實體爲 ' ,對應的字符是 ' 。與符號:字符實體爲 & ,對應對的字符是 & 。大於號:字符實體爲 > ,對應的字符是 > 。小於號:字符實體爲 < ,對應的字符是 < 。斜線號:字符實體爲 ⁄ ,對應的字符是 / 。給你輸入字符串 text ,請你實現一個 HTML 實體解析器,返回解析器解析後的結果。示例:輸入:text = '& is an HTML entity but &ambassador; is not.'輸出:'& is an HTML entity but &ambassador; is not.'解釋:解析器把字符實體 & 用 & 替換