首页 > 试题广场 >

大鱼吃小鱼

[编程题]大鱼吃小鱼
  • 热度指数:1519 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛最近喜欢上了俄罗斯套娃、大鱼吃小鱼这些大的包住小的类型的游戏。

于是牛爸给牛牛做了一个特别版的大鱼吃小鱼游戏,他希望通过这个游戏
能够近一步提高牛牛的智商。
游戏规则如下:

  • 现在有N条鱼,每条鱼的体积为Ai,从左到右排成一排。
  • A数组是一个排列。
  • 牛牛每轮可以执行一次大鱼吃小鱼的操作
  • 一次大鱼吃小鱼的操作:对于每条鱼,它在每一次操作时会吃掉右边比自己小的第一条鱼
  • 值得注意的时,在一次操作中,每条鱼吃比自己小的鱼的时候是同时发生的。
  • 举一个例子,假设现在有三条鱼,体积为分别[5,4,3],5吃4,4吃3,一次操作后就剩下[5]一条鱼。
    牛爸问牛牛,你知道要多少次操作,鱼的数量就不会变了嘛?
输出:表示要多少次操作,鱼的数量就不会变了
示例1

输入

3,[1,2,3]

输出

0

说明

不存在大鱼吃小鱼 
示例2

输入

6,[4,3,2,3,2,1]

输出

2

说明

[4,3,2,3,2,1]-->[4,3]-->[4] 

备注:
 
头像 未来0116
发表于 2021-09-14 19:42:25
一.题目描述题目大意:有一个N个数的数列,每一个数可以删去右边连续递减且小于当前数的数列,返回需要进行几次操作可以使得数列保持稳定,其数量不会发生变化。二.算法(模拟+递归)理解题目的意思我们可以知道每次都会将一个数右边小于该数字的连续子序列删除,那么对于每次删除后的结果进行递归,记录最后数列趋于稳 展开全文
头像 球球了给孩子一个offer吧
发表于 2021-08-18 18:23:32
题目:现在有N条鱼,每条鱼的体积为Ai,从左到右拍成一排。A数组是一个排列。牛牛每轮可以执行一次大鱼吃小鱼的操作一次大鱼吃小鱼的操作:对于每条鱼,它在每一次操作时会吃掉右边比自己小的第一条鱼值得注意的时,在一次操作中,每条鱼吃比自己小的鱼的时候是同时发生的。举一个例子,假设现在有三条鱼,体积为分别[ 展开全文
头像 摸鱼学大师
发表于 2021-08-18 15:32:04
思路: 题目的主要信息: 数组A表示N条鱼各自的大小,对于每条鱼,它在每一次操作时会吃掉右边比自己小的第一条鱼 吃的操作是同时,即如果有一连串递减子序列,只会剩下子序列最左边的元素 问要多少次操作,鱼的数量就不会变了 方法一:暴力模拟法具体做法:我们可以模拟这个吃的过程。首先按照上面说到的每次第 展开全文
头像 AimerAimer
发表于 2021-10-09 12:14:40
题意:         有一个n个数的数组,每个数都可以删除右边连续严格递减并且比这个数小的数列。         问经过多少次操作,数组的长度不变。 展开全文

问题信息

难度:
8条回答 5924浏览

热门推荐

通过挑战的用户

查看代码