кодесурса

Упражнения Java Array: Найти все уникальные триплеты так, чтобы сумма всех трех элементов была равна указанному числу

script1adsense2code
script1adsense3code

Java Array: Упражнение 36 с решением

Напишите программу на Java, чтобы найти все уникальные триплеты, в которых сумма всех трех элементов [x, y, z (x ≤ y ≤ z)] равна указанному числу.
Пример массива: [1, -2, 0, 5, -1, -4]
Целевое значение: 2.

Иллюстрированная презентация:


Пример решения :

Java-код:

import java.util.ArrayList;
import java.util.List;
public class Exercise36 {
    public static void main(String[] args) {
        int[] input = {1, -2, 0, 5, -1, -4};
		int target = 2;
		Exercise36 r = new Exercise36();
        System.out.println(r.threeSum(input,target));       
    }
    public List<List<Integer>> threeSum(int[] nums, int target) {
        List<List<Integer>> my_List = new ArrayList<List<Integer>>();
        
        for(int i = 0; i < nums.length; i++){
            for(int j = i; j < nums.length ;j++){
                for(int k = j; k<nums.length;k++){
                    if ( i != j && j != k && i != k && (nums[i] + nums[j] + nums[k] == target)){
                        List<Integer> inner_List = new ArrayList<Integer>(3);
                        inner_List.add(nums[i]);
                        inner_List.add(nums[j]);
                        inner_List.add(nums[k]);
                        my_List.add(inner_List);
                    }
                }
            }
        }
       return my_List;
    }
  }

Пример вывода:

                                                                              
[[1, 5, -4], [-2, 5, -1]] 

Блок - схема:

«Блок-схема:

Визуализация выполнения кода Java (Python Tutor):


Редактор кода Java:

Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите программу на Java, чтобы найти сумму двух элементов данного массива, которая равна заданному целому числу.
Далее: Напишите программу на Java для создания массива ее антидиагоналей из заданной квадратной матрицы.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code