题解 | #极客杯-快乐假期-GGboy的数组游戏#

极客杯-快乐假期-GGboy长胖了

https://ac.nowcoder.com/acm/contest/73273/A

极客杯-快乐假期-GGboy的数组游戏

目标:最少需要几次操作使得数组不有趣

换句话说,就是破坏所有的有趣三元组

如果只有一个三元组,我可以破坏三元组的第一个,第二个,第三个元素都可以。

一种贪心的思路是每次破坏三元组中间的那个元素,如果破坏第三个元素,我们只能让第三个元素变小,而变小之后,它可能跟其他的元素组成新的三元组。如果破坏第一个元素,我们只能让第一个元素变大,而变大之后的元素可能跟先前的元素组成新的三元组。因此贪心的认为破坏第二个元素是最好的。

怎么破坏,直接让第二个元素的值为无穷大。

具体代码如下:

def I(): return input()
def II(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(input().split())
def LII(): return list(map(int, input().split()))

n = II()

arr = LII()
res = 0 

for i in range(1, n-1):
    if arr[i-1] <= arr[i] <= arr[i+1]:
        arr[i] = float("inf")
        res += 1

print(res)
    
全部评论

相关推荐

点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
03-13 14:57
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务