תוצאות 1 עד 15 מ 23

אשכול: אלגוריתם סוגריים בג'אווהסקירפט.

תצוגה בשכבות

  1. #1
    Member
    תאריך הצטרפות
    Aug 2016
    הודעות
    320

    אלגוריתם סוגריים בג'אווהסקירפט.

    נבחנתי בבית והנבלות עדיין לא החזירו תשובה,
    אני לא הכי מנוסה ב JS
    לקח לי חצי שעה ללמוד מה צריך ולכתוב את האלגוריתם, עם טעויות סינטקס קטנות וטעות בהגדרת גבולות הלולאה, שתיקנתי יותר מאוחר,
    בסה"כ חרגתי פי 2 מהזמן.
    אבל יותר מענין אותי האם יש דרך אחרת יותר יעילה וקריאה יותר.
    צריך לכתוב פונקציה המקבלת string ומחזירה 1 אם הסוגריים בקלט מקוננים נכון ו- 0 אחרת.
    דוגמאות :

    You need to consider three kinds: (), [], <> and only these kinds.


    Examples:

    verify("---(++++)----") -> 1
    verify("") -> 1
    verify("before ( middle []) after ") -> 1
    verify(") (") -> 0
    verify("} {") -> 1 //no, this is not a mistake.
    verify("<( >)") -> 0
    verify("( [ <> () ] <> )") -> 1
    verify(" ( [)") -> 0
    קוד HTML:
    function verify(text)
    {
        var  stack =  new Array();
        var  myMap =  new Map();
        myMap.set('[' ,']');
        myMap.set('(',')');
        myMap.set( '<','>');
        myMap.set('”', '”');
        var regOpen   =  /[([<"]/ ;
        var regClose  = /[\)\]\>"]/ ;
        var length=  text.length-1;
        var textArr= text.split("");
        var pop;
        console.log(length);
        for (i=0;i<=length; i++ )
        {
           if( textArr[i].match(regOpen)  )
              stack.push(textArr[i]);
           else if( textArr[i].match(regClose)  )
           {
               pop =  myMap.get(stack.pop());
               if( pop!= textArr[i] )
                   return 0;
           }
        }
        return (stack.length==0 ? 1:0);
    }
    נערך לאחרונה על ידי levil; 09-09-2016 בשעה 10:48.

הרשאות פרסום

  • אין באפשרותך לפרסם אשכולות חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך
  •  
Single Sign On provided by vBSSO