100>算法笔试模拟题精解之“破译密码”算法笔试模拟题精解之“破译密码”贡献者 | 黄信旭简介:可以使用尺取法来解题;设当前区间为 [L, R]。初始 L = R = 0;使用尺取法需要判断什么时候调整 L 和 R。题目描述题目等级:中等知识点:尺取法查看题目:破译密码给你一个长度为 n 的序列,元素标号 1-n。问能够找到多少对不同的(L,R)(1<= L <= R),使得在子序列 [L,R] 内存在出现频率不低于 K 的元素?输入序列大小 n(1 <= n <= 10^4)、出现频率 k(1 <= k <= n)和一个包含 n 个整数的数组,第 i 个整数表示序列的第 i 个元素为 ai(1 <= ai <= 10^9)。输出满足条件的子序列个数。示例 1输入:42[1 ,2 ,1 ,2]算法笔试模拟题精解之“破译密码” <101输出:3注意三个子序列分别为 [1,3],[1,4],[2,4]解题思路 : 尺取法与 57 超级区间那道题是类似的方法。设当前区间为 [L, R]。初始 L = R = 0;使用尺取法需要判断什么时候调整 L 和 R。情况 1:假设对于某个区间 [L1,
目录
171
0
收起右侧 展开右侧
程序员面试宝典 > 算法笔试模拟题精解之“破译密码”
  • 读书笔记
    我的笔记
    暂无相关笔记,快来写一篇吧!
点击浏览下一章>>