环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离

这段代码展示了两个Java方法来计算两公交站之间的最短距离,考虑了start和destination的顺序。第一个实现较为复杂,第二个是简化版,通过室友提醒修复了初始问题。当start和destination顺序错误时,程序能正确处理。
摘要由CSDN通过智能技术生成
class Solution {
    public int distanceBetweenBusStops(int[] distance, int start, int destination) {
        int max=0,min=0;
        int total=0,s1=0,s2=0,a=0;
        if(start<destination)
        {
            max=destination;min=start;
        }
        else
        {
            max=start;min=destination;
        }
            for(int i=0;i<distance.length;i++)
            { total+=distance[i];}
            for(int j=0;j<distance.length;j++)
            {
                if(j>=min&&j<max)
                {
                     s1+=distance[j];
                }
                
            }
            s2=total-s1;
            if(s1<s2)
            {a=s1;}
            else
            {a=s2;}
            return a;
        }
}

这个程序好麻烦,弄了好久。

 

class Solution {
    public int distanceBetweenBusStops(int[] distance, int start, int destination) {
        int s1=0,s2=0,sum=0;
            for(int i=start;i<destination;i++)
            {
                int element1=distance[i];
                s1+=element1;
            }
            for(int i=0;i<distance.length;i++)
            {
                int element2=distance[i];
                sum+=element2;
            }
            s2=sum-s1;
            if(s2>s1)
            {
                return s1;
            }
            else
            {
                return s2;
            }
        }
    }

 一开始写的,室友提醒了我才发现有可能start和destination可能会反过来,所以前面我一直没有通过。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值