求大神帮我复制一下中间哪个彩虹符号求复制,谢谢。

题目大意就是给你一个数组重複k次操作:找到数组中的最小非零元素,打印它然后从数组的所有非零元素中减去它。如果所有元素都是0则只打印0。

思路:因为每次嘟是找最小的元素所以我们用一个优先队列(升序)来存放这个数组,然后题目中说每次从数组中所有的非零元素中减去我们就设置┅个变量来计算现在数组中每个元素一共减去了多少,然后取队头的时候把取出来的元素减去这个变量就行了然后判断一下,是否为零

题目中的有个地方是坑点,就是执行k次操作我一开始是循环k次,结果发现输出的时候就少行仔细一想,不能循环k次因为如果取出來的队头处理完不满足条件不能打印的时候,没有打印东西也占了一次循环所以最后用一个数来数到目前为止打印了几次,打印K次的时候就退出循环

 

我要回帖

更多关于 彩虹符号求复制 的文章

 

随机推荐