(א)נתונה הפעולה secret הבאה המקבלת שתי מחרוזות:
```java
public static boolean secret(String s1, String s2)
{
if(s1.equals(s2)) return false;
while(s1.length() != 0 && s2.length() != 0)
{
int pos = s2.indexOf(s1.charAt(0));
if(pos == -1) return false;
s1 = s1.substring(1);
s2 = s2.substring(0,pos) + s2.substring(pos+1);
}
return s1.length() == 0;
}
```
1. תנו דוגמה למחרוזת s2 באורך של שישה תווים שעבורה הפעולה secret("HELLO!", s2) תחזיר ערך true.
2. נתונה הטענה הבאה:
אם זימון הפעולה secret(s1, s2) מחזיר ערך true, גם זימון הפעולה secret(s2, s1) יחזיר ערך true.
האם הטענה נכונה? הסבירו את תשובתכם.
3. מה מבצעת הפעולה secret באופן כללי?
(ב)נתונה הפעולה mystery המקבלת מערך מחרוזות. הפעולה משתמשת בפעולה secret:
```java
public static boolean mystery(String[] arr)
{
for (int i = 0; i<arr.length -1; i+=2)
{
if (!secret(arr[i], arr[i+1]))
return false;
}
return true;
}
```
1. תנו דוגמה למערך arr בגודל שישה תאים שעבורו הפעולה mystery תחזיר ערך true.
2. נתונה הטענה הבאה: אם זימון הפעולה mystery(arr) מחזיר ערך true, המערך arr לא כולל זוג מחרוזות זהות אשר נמצאות בתאים סמוכים. האם הטענה נכונה? הסבירו את תשובתכם.
3. מהי הסיבוכיות של הפעולה mystery? הסבירו את תשובתכם.

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←