首页 > 试题广场 >

双十一的购物车

[编程题]双十一的购物车
  • 热度指数:366 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
SS是途虎养车的一名技术人员,她每年双11的时候,会尝试清空自己购物车中“看起来便宜”的商品。她的购物车列表是有序的,如果一件商品,其价格比购物车中前一个商品和后一个商品的价格都低,则SS认为这件商品“看起来便宜”。

有一天,你趁她午睡且忘记锁屏登入了她的购物网站账号,想通过调整购物车顺序,来“帮助”她买到最多的的商品。


示例1

输入

[1,2,3]

输出

1

说明

输入是一个整型数组,代表A现在购物车中的商品价格。输出经过重新排列之后,SS最多会购买的商品数量。示例中SS最多会购买1件商品(一个可能的排列为[3,1,2])

备注:
1. 在本题中,最多是指个数上最多;
2. 第一个和最后一个商品,不符合“看起来便宜”的定义。
头像 南拳北腿***
发表于 2021-03-18 09:47:07
简单双指针先排序、再分段,后插入,左指针每次走一步,右指针如果插入成功就走一步,否则不动。例如1,3,3,4,5。分成13,345,然后1 看能否插入34之间,可以则看下一个,最后3,1,4,3,5. public static int reorder (int[] prices) { 展开全文