给你一个待查数组 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.'解释:解析器把字符实体 & 用 & 替换