1. קביעת חוזק סיסמה: סיסמה תיקרא חזקה אם יש לה לפחות אות ניקוד אחת ולפחות אות רגילה אחת. חוזק סיסמה נקבע לפי כמות החלקים שניתן לחלק סיסמה ועדיין כל אחד מהחלק מקיים את שיטת התוקף הנ"ל. יש להחזיר את חוזק הסיסמה.
2. מציאת יום מיטבי לקמפינג. יום יהיה מיטבי אם בk הימים שלפניו היתה ירידה בכמות הגשמים, ובk הימים אחריו היתה עליה בכמות הגשמים. יש להחזיר את כל הימים המיטביים מתוך מערך ימים נתון, בסדר עולה. נתון גם k.
for char in password:
if char in vowels:
has_vowel = True
else:
has_consonant = True
if has_vowel and has_consonant:
count += 1
has_vowel = False
has_consonant = False
return count
2. שימוש בשני תורי עדיפות , אחד לשמירת הירידה עד כה ואחד לעליה. אם התחלנו לעלות נבדוק אם תור הירידה מכיל מספר =k ואם התחלנו לרדת נבדוק אם תור העלייה מכיל מס' ערכים=k ונשמור בליסט את הימים המיטביים. בנוסף, לפני כל נקוד יש לבדוק שהיום הקודם > מהיום הנוכחי ולהפך, לפי מגמת העליה הירידה ואת זה ניתן לעשות בהשוואה לראש התור (ערך המקסימום/ המינימום).
במבחן בית הביאו לי שאלת ליט קוד שבה קיבלתי מחרוזת והייתי צריך להגיד לכמה מחרוזות צריך לפצל את המחרוזת המקורית על מנת שאף תו לא יחזור על עצמו במחרוזת ספציפית
תשובות
הוסף תשובה
|
לצפיה בתשובות
ינואר 2025
מה שעשיתי היה פשוט לעבור על המחרוזת ולספור את האות שמופיעה הכי הרבה פעמים והמספר שקיבלתי זה בעצם כמות המחרוזות המקסימלית שאני צריך לקבל.
ינואר 2025
במקרה של: str="abbbabbabbaaaa" היית מקבל 7 במקום 10.
לפי דעתי צריך להגדיר מערך מונים [temp[256 (עבור כל ערך ascii) לרוץ על כל האורך של המחרוזת, ולבדוק את הערך של התא במקום של הערך של התו: temp[str[i]] != 0 אם הוא שונה מ0 אז זה אומר שכבר נתקלנו בתו כזה ולכן צריך להוסיף אחד לקאונטר שלנו (שהתחיל ב1) לאפס את temp ולהכניס את התו הכפול לtemp. הפונקציה תחזיר את הקאונטר.
ינואר 2025
הייתי מגדיר סט כך שיעזור לי להבין אם נתקלתי בתו מסויים
כך אני מתחיל לרוץ על המחרוזת ואם הגעתי לתו שכבר קיים במחרוזת אני מוסיף אחד לקאונטר (מסמן שזה מחרוזת מקסימלית)
מרוקן את הסט וממשיך לרוץ על המחרוזת כמו קודם ולבסוף מחזיר קאונטר