哈尔滨优惠的网站建设,制作微信小程序商城模板,上海网站seo公司,自己做的网站加入购物车价格问题描述#xff1a;第i个人的体重为peaple[i],每个船可以承载的最大重量为limit。每艘船最多可以同时载两人#xff0c;但条件是这些人的重量之和最多为limit#xff0c;返回载到每一个人多虚的最小船数#xff0c;(保证每个人被船载)。
贪心算法求解#xff1a;先将数组…问题描述第i个人的体重为peaple[i],每个船可以承载的最大重量为limit。每艘船最多可以同时载两人但条件是这些人的重量之和最多为limit返回载到每一个人多虚的最小船数(保证每个人被船载)。
贪心算法求解先将数组进行排序然后使用双指针指向头和尾如果头尾之和比limit小则船数加一双指针移动如果大于limit则船数量1尾指针前移使用while循环退出这个过程判断标准为尾指针头指针最后需要判断尾指针是否等于头指针因为最后一个人无论如何都需要一个船。
public int numberBoat(int []peaple)
{
int start0;
int endpeaple.length;
int count0;
Arrays.sort(peaple);
while(endstart)
{
if(peaple[end]peaple[start]limit)
{
end--;
start;
count;
}else
{
end--;
count;
}
}
if(endstart){count;}
return count;
}