1. 程式人生 > 實用技巧 >java中的鎖

java中的鎖

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        
int x = scanner.nextInt(); List<Integer> listA = new ArrayList<>(); for(int i=0; i<n; i++) { listA.add(scanner.nextInt()); } Collections.sort(listA); List<Integer> listB = new ArrayList<>(); listB.add(listA.get(
0)); while(m > 0) { if(listA.size() <= 0) { listA = listB; listB = new ArrayList<>(); listB.add(listA.get(0)); } if(listA.get(0) >= listB.get(0)) { listB.set(0, listB.get(0) + x); listB.add(listB.get(
0)); listB.remove(0); m--; }else { listB.add(listA.get(0) + x); listA.remove(0); m--; } } System.out.println(listB.get(0)); } }

參考資料

不可不說的Java“鎖”事