Petit challenge

RANDOM ARRAY
START COMPUTE REDUCER ARRAY
Sum = 1290010930
Time in ms = 138
END COMPUTE REDUCER ARRAY
-------------------------------------------
SORTED ARRAY
START COMPUTE REDUCER ARRAY
Sum = 1290010930
Time in ms = 27
END COMPUTE REDUCER ARRAY
    /**
     * Build a array with random number
     *
     * @param maxSize
     * @param minValue
     * @param maxValue
     * @return
     */
    public static int[] buildArrayRandom(int maxSize, int minValue, int maxValue) {
        int[] arrayRandom = new int[maxSize];
        for (int i = 0; i < maxSize; i++) {
            arrayRandom[i] = (int) (Math.random() * maxValue) + minValue;
        }

        return arrayRandom;
    }
    private static void reducerArray(int VALUE_CONDITON, int sum, int[] randArray) {
        for (int i = 0; i < randArray.length; i++) {
            if (randArray[i] <= VALUE_CONDITON) {
                sum += randArray[i];
            }
        }
    }
    public static void main(String[] args) {
        int VALUE_CONDITON = 128;
        int sum = 0;
        int[] randArray = buildArrayRandom(40000000, 0, 256);

        System.out.println("RANDOM ARRAY");
        reducerArray(VALUE_CONDITON, sum, randArray);

        // with sorted array
        Arrays.sort(randArray);
        System.out.println("-------------------------------------------");
        System.out.println("SORTED ARRAY");
        reducerArray(VALUE_CONDITON, sum, randArray);

    }
    @Transaction()
    public async updateRfidAsset(ctx: Context, rfidSender: string, rfidReader: string, timeIn: number, timeOut: number, location: number, params: string): Promise<void> {
        const exists = await this.rfidAssetExists(ctx, rfidSender);
        if (!exists) {
            throw new Error(`The rfid sender ${rfidSender} does not exist`);
        }

        const rfidAsset = new RfidAsset();

        rfidAsset.rfidSender = rfidSender;
        rfidAsset.rfidReader = rfidReader;
        rfidAsset.timeIn = timeIn;
        rfidAsset.timeOut = timeOut;
        rfidAsset.location = location;
        rfidAsset.params = params ? params : '';

        const buffer = Buffer.from(JSON.stringify(rfidAsset));
        await ctx.stub.putState(rfidAsset.rfidSender, buffer);
    }

Code complet

Plus d'information :

Petit défis

By Johnny Da Costa

Petit défis

  • 166