最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

count apples and oranges

网站源码admin11浏览0评论

count apples and oranges

代码语言:java复制
    /**
     * count apples and oranges whether land on the inclusive [s,t]
     * a is apple tree's cordination, b is orange tree's corditation
     * apples is apple tree's relative cordination ,left relative apple tree is represention by negative value
     * right relative is represention by positive value
     * oranges is same as apples
     * constrant condition :
     * 1<=s,t,a,b,m,n<=10to5 m is apples' size, n is oranges' size
     * -10to5<=d<=10to5 d is apples' cordation plus a's cordation and generate out donation distance and compute oranges' d as well
     * a<s<t<b
     * @param s
     * @param t
     * @param a
     * @param b
     * @param apples
     * @param oranges
     */
    public static void countApplesAndOranges(int s, int t,int a,int b,List<Integer> apples,List<Integer> oranges){
        int val=1;
        for (int i = 0; i < 5; i++) {
            val*=10;
        }
        if (s<1 || s>val){
            return;
        }
        if (a<1 || a>val){
            return;
        }
        if (b<1 || a>val){
            return;
        }
        if (apples.size()<1 || apples.size()>val){
            return;
        }
        if (oranges.size()<1 || apples.size()>val){
            return;
        }
        ArrayList<Integer> appleDonationList = new ArrayList<>();
        apples.forEach(e->{
            int i = a + e;
            appleDonationList.add(i);
        });
        ArrayList<Integer> orangeDonationList = new ArrayList<>();
        oranges.forEach(e->{
            int i = b + e;
            orangeDonationList.add(i);
        });
        int negativeVal = -val;
        ArrayList<Integer> donationList = new ArrayList<>();
        donationList.addAll(appleDonationList);
        donationList.addAll(orangeDonationList);
        for (Integer i : donationList) {
            if (i<negativeVal || i>val){
                return;
            }
        }
        if (a>=s){
            return;
        }
        if (a>=t){
            return;
        }
        if (a>=b){
            return;
        }
        if (s<=a){
            return;
        }
        if (s>=t){
            return;
        }
        if (s>=b){
            return;
        }
        if (t<=a){
            return;
        }
        if (t<=s){
            return;
        }
        if (t>=b){
            return;
        }
        if (b<=a){
            return;
        }
        if (b<=s){
            return;
        }
        if (b<=t){
            return;
        }
        int appleCount=0;
        for (Integer i : appleDonationList) {
            if (i>=s && i<=t){
                appleCount++;
            }
        }
        System.out.println(appleCount);
        int orangeCount=0;
        for (Integer i : orangeDonationList) {
            if (i>=s && i<=t){
                orangeCount++;
            }
        }
        System.out.println(orangeCount);
        return;
    }

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论