2022-10-30:给你一个长度为 n 的整数数组 rolls 和一个整数 k 。 你扔一个 k 面的骰子 n 次,骰子的每个面分别是 1 到 k , 其中第 i 次扔得到的数字是 rolls[i]
2022-10-30:给你一个长度为 n 的整数数组 rolls 和一个整数 k 。你扔一个 k 面的骰子 n 次,骰子的每个面分别是 1 到 k ,其中第 i 次扔得到的数字是 rolls[i] 。请你返回 无法 从 rolls 中得到的 最短 骰子子序列的长度。扔一个 k 面的骰子 len 次得到的是一个长度为 len 的 骰子子序列 。注意 ,子序列只需要保持在原数组中的顺序,不需要连续。输入:rolls = [4,2,1,2,3,3,2,4,1], k = 4。输出:3。
答案 2022-10-30:
这道题很难想到。一次遍历,一套一套收集。力扣 2350。力扣上测试了好几门语言。这次 java 的运行速度最高,比 rust 都强了不少。c++表现不好,不见运行速度低,而且内存占用大。rust 内存占用最小,go 语言次之。时间复杂度:O(n+k)。空间复杂度:O(k)。
代码用 rust 编写。代码如下:
复制代码
执行结果如下:
版权声明: 本文为 InfoQ 作者【福大大架构师每日一题】的原创文章。
原文链接:【http://xie.infoq.cn/article/2b607da89009cd53372a5027b】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论