首页 > 其他分享 >数组中的最长山脉 救生艇 水果成篮

数组中的最长山脉 救生艇 水果成篮

时间:2022-11-28 19:13:30浏览次数:50  
标签:救生艇 arr int fruits riht 数组 ans 成篮 left

845. 数组中的最长山脉

int n = arr.length;
if(n < 3) return 0;
int ans = 0;
for(int i = 1; i < n - 1; i++) {
if(arr[i] > arr[i - 1] && arr[i] > arr[i + 1]) {找到山峰
int l = i - 1;
int r = i + 1;
while(l >= 1 && arr[l - 1] < arr[l]) l--;找左边界
while(r <= n - 2 && arr[r + 1] < arr[r]) r++;找右边界
ans = Math.max(ans, r - l + 1);
}
}
return ans;


881. 救生艇

左右开弓
Arrays.sort(people);
int l = 0;
int r = people.length - 1;
int ans = 0;
while(l <= r) {
if(l == r) {此时只有一个人了,直接单独上船
ans++;
break;
}
if(people[l] + people[r] > limit) {胖瘦搭配不了
ans++;
r--;
}else {能搭配
ans++;
r--;
l++;
}
}
return ans;


904. 水果成篮

int left = 0, riht = 0, ans = 0;
int ln = fruits[left], rn = fruits[riht];
while(riht < fruits.length) {
if(fruits[riht] == ln || fruits[riht] == rn) {
ans = Math.max(ans, riht - left + 1);
riht++;
}else {
left = riht - 1;保持两种,因为上面right已经加过了
ln = fruits[left];
rn = fruits[riht];
while(left >= 1 && (fruits[left - 1] == ln || fruits[left - 1] == rn)) {折回去看左边界
left--;
}
ans = Math.max(ans, riht - left + 1);
}
}
return ans;

标签:救生艇,arr,int,fruits,riht,数组,ans,成篮,left
From: https://www.cnblogs.com/xtag/p/16933058.html

相关文章

  • 处理数组对象,ES6合并对象数组
    将所有对象,Name相同的值,count合并成新的数组   将格式改为:先处理时间 lettime=_data.map(val=>{returnval.start})console.log(time)处理listl......
  • Java中数组、集合初始化及遍历方式
    一、数组1.一维数组一维数组两种初始化方式静态初始化int[]array={1,2,3};int[]array=newint[]{1,2,3};动态初始化int[]array=newint[3......
  • 北理工乐学 43. 【日期】黑色星期五(数组)
    43.【日期】黑色星期五(数组)在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫"黑色星期五”。......
  • 力扣209(java&python)-长度最小的子数组(中等)
    题目:给定一个含有 n 个正整数的数组和一个正整数target。找出该数组中满足其和≥target的长度最小的连续子数组 [numsl,numsl+1,...,numsr-1,numsr],并返回......
  • shell 使用jq解析json字符串数组
    echojson.txt|jq'.' 输出整个json字符串echojson.txt|jq'.[0]' 取出数组中第一个objectechojson.txt|jq'.[0].name' 取出数组第一个object中键为name的值......
  • 12个有用的JavaScript数组技巧
    数组是Javascript最常见的概念之一,它为我们提供了处理数据的许多可能性,熟悉数组的一些常用操作是很有必要的。1、数组去重1、from()叠加newSet()方法字符串或数值型数......
  • go slice不同初始化方式性能&数组比较
    go语言开发中,slice是我们常用的数据类型之一,也是因为它的灵活性,自己也很少使用数组,当然我也知道它的一些特性,不过没有真实的去验证它,因为大多数使用场景没必要对code太过苛......
  • 长度最小子数组-LeetCode209 滑动窗口
    力扣:https://leetcode.cn/problems/minimum-size-subarray-sum/题目  给定一个含有 n 个正整数的数组和一个正整数target。找出该数组中满足其和≥target的长......
  • Java数组排序
       今天,巩固教大家数组排序方法,我将介绍以下这几种方式:快速排序,冒泡排序,选择排序。1、快速排序这就是各位学Java的福利了,Java提供sort()方法,咱们只......
  • Scala列表数组学习
    数组 不可变数组——定义、查询、增加、循环//定义数据vararr:Array[Int]=newArray[Int](5)vararr2=Array(2,3,42,21,3)//循环以及......