赞
踩
通过山坡法判断有几个峰值,即
峰值为:
prediff < 0&& curdiff > 0
本题要考虑三种情况:
(1)上下坡中有平坡 即:允许prediff = 0
(2)数组首尾两端
(3)单调坡中有平坡
遇到负数时不跳过,当count小于0时才重新置零计数
如果能走到,那步数加1
-
- if(maxSize >= nums.length - 1){
- step++;
- return step;
- }
- //如果能走到边界了,那必须向前走一步
- if(i == curSize){
- step++;
- curSize = maxSize;
- }
-
按绝对值排序,负数全变为正数,k还剩的话找最小的正数一直薅
- nums = IntStream.of(nums)
-
- .boxed()
-
- .sorted((o1, o2) -> Math.abs(o2) -Math.abs(o1)) //绝对值大的放在前面
-
- .mapToInt(Integer::intValue).
-
- toArray();
创建一个int型的输入流stream<Integer> 是Integer类型的流;boxed的作用就是将int类型的stream转成了Integer类型的Stream;toArray把map<Integer>集合转成int类型,再转换成array数组。
Arrays.stream(nums).sum();
(1)先用10块,再用5块
(2)用3张5块
(3)其他情况为false
升序排完队以后,插入过程使用链表:
- for (int[] p : people) {
-
- que.add(p[1],p);
-
- }
-
- //Linkedlist.add(index, value),会将value插入到指定index裡。
比如升序后:
[7,0],[7,1],[6,1],[5,0]…每一个都是p[]
Queue = [7,0],[6,1],[7,1]
4.把[5,0]放在p[1]=0,即:
Queue = [5,0],[7,0],[6,1],[7,1]…
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。