- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个汽车数组 $cars=array(2,8,4,3,2),其中数组中的值显示汽车所需的燃料。并且有三个加油站说 $x、$y 和 $z。每个加油站的燃料容量有限。假设 $x=7、$y=11、$z=3。所以当阵列中的每辆车移动到加油站时,它需要检查是否有足够的燃料来填充,如果没有那么汽车必须等到另一辆车完成加油然后只有下一辆车可以移动到加油站。加满油箱所需的时间为每加仑 1 秒。那么如何获得上述数组的最大填充时间。到目前为止,我已经做到了这一点
$cars=array(2,8,4,3,2);
$x=7; $y=11; $z=3;
echo maxwaittime($cars, $x, $y, $z);
function maxwaittime($cars, $x, $y, $z){
$car1=0;
$car2=0;
$car3=0;
$maximumtime=0;
$i=0;
while($i < count($cars)){
if($car1 !=0 && $car2 !=0 && $car3 !=0){
if($car1 < $car2){
$mintime=$car1;
}else{
$mintime=$car2;
}
if($mintime > $car3){
$mintime=$car3;
}
$car1=$car1-$mintime;
$car2=$car2-$mintime;
$car3=$car3-$mintime;
$x=$x-$mintime;
$y=$y-$mintime;
$z=$z-$mintime;
if($mintime > $maximumtime){
$maximumtime=$mintime;
}
}
if($car1==0){
if($cars[$i] <= $x){
$car1=$cars[$i++];
continue;
}else{
return -1;
}
}else if($car2==0){
if($cars[$i] <=$y){
$car2=$cars[$i++];
continue;
}else{
return -1
}
}else if($car3==0){
if($cars[$i] <=$z){
$car3=$cars[$i++];
continue;
}else{
return -1
}
}
}
return $maximumtime;
}
这里的问题是在第三辆车的迭代中,它需要 4 加仑的燃料,而加油站 z 只有 3 加仑可用,汽车应该等待 2 秒,并在它空闲后从站 x 获取燃料。但我的代码返回-1。如果没有任何加油站需要加油,它应该只返回 -1。
事实上,在上述情况下,它应该返回 8,因为它是最大等待时间,分别为 0、0、2、2 和 8 秒。
最佳答案
$car1=0;
$car2=0;
$car3=0;
$maximumtime=0;
$i=0;
while($i < count($cars)){
/*$car1 = 0 $car2=0 $car3 = 0 => false*/ if($car1 !=0 && $car2 !=0 && $car3 !=0){
if($car1 < $car2){
$mintime=$car1;
}else{
$mintime=$car2;
}
if($mintime > $car3){
$mintime=$car3;
}
$car1=$car1-$mintime;
$car2=$car2-$mintime;
$car3=$car3-$mintime;
$x=$x-$mintime;
$y=$y-$mintime;
$z=$z-$mintime;
if($mintime > $maximumtime){
$maximumtime=$mintime;
}
}
if($car1==0){
if($cars[$i] <= $x){
$car1=$cars[$i++];
continue;
}else{
return -1;
}
}else if($car2==0){
if($cars[$i] <=$y){
$car2=$cars[$i++];
continue;
}else{
return -1;
}
/*/*$car3=0 => true*/*/
}else if($car3==0){
/*$i=2 => $cars[2]= 4 $z = 3 => FALSE => return -1*/
if($cars[$i] <=$z){
$car3=$cars[$i++];
continue;
}else{
return -1;
}
}
}
return $maximumtime;
}
关于php - 如何从需要燃料的汽车阵列中获得最长的等待时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54190772/
我正在尝试编写一个名为 map-longest 的 Clojure 实用函数(感谢备用名称建议)。该函数将具有以下“签名”: (map-longest fun missing-value-seq c1
为什么我创建了一个重复的线程 我在阅读后创建了这个线程 Longest increasing subsequence with K exceptions allowed .我意识到提出问题的人并没有真
我正在编写一个 Sub 来识别 1 到 1000 之间最长的 Collatzs 序列。由于我刚刚开始学习 VBA,我想知道如何添加过程来计算每个序列的长度。 Sub Collatz() Dim i
我正在编写一个 Sub 来识别 1 到 1000 之间最长的 Collatzs 序列。由于我刚刚开始学习 VBA,我想知道如何添加过程来计算每个序列的长度。 Sub Collatz() Dim i
我正在尝试减去 CSV 中的两列以创建第三列“持续时间”结束时间 - 开始时间 每一行也对应一个用户 ID。 我可以创建一个仅包含“持续时间”列的 csv 文件,但我宁愿将其重定向回原始 csv。 例
我在 2018.04 玩这个最长的 token 匹配,但我认为最长的 token 不匹配: say 'aaaaaaaaa' ~~ m/ | a+? | a+ /; # 「a」
因此,按照规范规定最终用户/应用程序提供的给定变量(200 字节)的字节长度。 使用 python 字符串,字符串的最大字符长度是多少,满足 200 字节,因此我可以指定我的数据库字段的 max_le
我需要针对我们的Jenkins构建集群生成每周报告。报告之一是显示具有最长构建时间的作业列表。 我能想到的解决方案是解析每个从属服务器(也是主服务器)上的“构建历史”页面,对于作业的每个构建,都解析该
我正在构建一个 iOS 应用程序,它将流式传输最长为 15 秒的视频。我阅读了有关 HLS 的好文章,因此我一直在对片段大小为 5 秒的视频进行转码。如果视频的第一部分加载时间太长,那么我们可以在接下
docs for Perl 6 longest alternation in regexes punt to Synopsis 5记录 longest token matching 的规则.如果不同的
我是一名优秀的程序员,十分优秀!