Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

رياضيات - الفرق المتناظر

جزء من قسم Logic & Flow في رحلة Java على Coddy. الدرس 32 من 59.

إن الفرق التناظري لمجموعتين هو مجموعة جديدة تحتوي على العناصر الموجودة في أي من المجموعتين ولكن ليس في كلتيهما. في Java، يمكنك حسابه من خلال:

  1. إيجاد الفرق بين المجموعة الأولى بالنسبة للمجموعة الثانية.
  1. إيجاد الفرق للمجموعة الثانية بالنسبة للمجموعة الأولى.
  1. الجمع بين هذين الاختلافين.

أولاً، قم بإنشاء اثنين من الـ HashSets:

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);

HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);

بعد ذلك، احسب كل فرق أحادي الاتجاه:

HashSet<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2);  // diff1 هو [1]
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1);  // diff2 هو [4]

بعد ذلك، قم بدمج الاختلافين:

diff1.addAll(diff2);  // diff1 هو [1, 4]
challenge icon

التحدي

سهل

قم بإنشاء دالة باسم <strong>symmetricDifference</strong> تأخذ اثنين من HashSets من الأعداد الصحيحة كمدخلات، وتحسب الفرق المتماثل بينهما، وتطبعه بالتنسيق التالي:

Symmetric Difference: [elements]

جرّب بنفسك

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void symmetricDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
        // اكتب كودك هنا
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // اقرأ سلسلة JSON للمجموعة الأولى (على سبيل المثال، [1,2,3])
        String set1String = scanner.nextLine();
        // اقرأ سلسلة JSON للمجموعة الثانية (على سبيل المثال، [2,3,4])
        String set2String = scanner.nextLine();

        Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
        HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
        HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);

        symmetricDifference(set1, set2);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow

تدرّب بنفسك: مترجم Java عبر الإنترنت