How to sum all the numbers in an array (the duplicate numbers sum only once) with Java

1 Answer

0 votes
import java.util.HashSet;

public class Program {
    public static int sumUniqueNumbers(int[] arr) {
        int result = 0;
        HashSet<Integer> uniqueNumbers = new HashSet<>();

        for (int num : arr) {
            if (!uniqueNumbers.contains(num)) {
                uniqueNumbers.add(num);
                result += num;
            }
        }

        return result;
    }

    public static void main(String[] args) {
        int[] arr = {2, 3, 4, 2, 1, 1, 7, 5, 8, 9, 5, 3};
        
        // 2 + 3 + 4 + 1 + 7 + 5 + 8 + 9 = 39
        
        System.out.println(sumUniqueNumbers(arr));
    }
}


 
/*
run
 
39
 
*/


 



answered May 31, 2024 by avibootz
...