不合格产品

题目描述:现有n个物品,每个物品有三个参数ai,bi,ci,定义i物品不合格品的依据是:若存在物品j,且aj>ai, bj>bi, cj > ci,则称i物品为不合格品。
全题如图:


img_5bb3ac10f0db4defeea757a94916bcf6.png

解决思路:

  • 思路很简单,一个一个比较,但是注意for循环中,第二个for循环的下标。j始终是从0开始的,说明每个i都会和j比较,一旦i不合格,不用删去,因为i是递增的。
import java.util.Scanner;


public class Main {

    static class Good{
        public int a;
        public int b;
        public int c;

        public Good(int a, int b, int c){
            this.a = a;
            this.b = b;
            this.c = c;
        }
    }

    private static boolean fun(int idx,int[][] a ) {

        for (int i = 0;i < a.length; i++) {
            if (a[idx][0]<a[i][0]&&a[idx][1]<a[i][1]&&a[idx][2]<a[i][2]) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
        Good[] goods = new Good[N];
        for (int i = 0; i < N; i++) {
            goods[i] = new Good(scanner.nextInt(), scanner.nextInt(), scanner.nextInt());
        }
        int count=0;
        for (int i = 0; i < N; i++) {
            for(int j = 0; j < N; j++){
                if(goods[i].a < goods[j].a && goods[i].b < goods[j].b && goods[i].c < goods[j].c){
                    count++;
                    break;
                }
            }
        }
        System.out.println(count);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值