اذهب إلى المحتوى

السؤال

نشر (معدل)

لا لعلم ما المشكله حيث انس قمت بتعريفها كمصفوفه 

وايضا البرنامج لا يتوقف عند التشغيل

var lengthOfLongestSubstring = function(s) {
  var max = 1;
    var a = s.split('');
    var b=[];
    for(let i = 0; i<a.length;i++){
      b.push(a[i]);
      console.log(b)
      for (let j=0; j=b.length-1;j++){
        console.log(j)
        if(b[j] == a[i+1]){
          dd = b.length;
          if(dd > max) {max = dd, ss = b.join(''), b=b.pop()};;
        }
      }
    }
    return ss
};
console.log(lengthOfLongestSubstring('pwwkew'))

 

Screenshot (34).png

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

المشكلة في الجزء التالي من الكود:

b=b.pop()

لاحظ أنك تقوم بإعادة تعيين قيمة b إلى القيمة العائدة من b.pop حيث يتم إعادة آخر قيمة من المصفوفة من خلال pop وبالتالي b لم تعد مصفوفة بعد الآن بل قيمة فقط، لذا لا يمكن استدعاء ميثود push عليها.

والصحيح هو:

b.pop();

أي لديك مشكلة في المقارنة حيث أنك كتبت 

j=b.length-1;j++

بينما الصحيح هو:

j < b.length - 1; j++

من أجل التكرار بشكل صحيح.

والكود هو:

var lengthOfLongestSubstring = function(s) {
  var max = 1;
  var a = s.split('');
  let b = [];

  for (let i = 0; i < a.length; i++) {
    b.push(a[i]);

    for (let j = 0; j = b.length - 1; j++) { 
      if (b[j] === a[i + 1]) {
        var dd = b.length;
        if (dd > max) {
          max = dd;
          ss = b.join('');
          b.pop(); 
        }
      }
    }
  }

  return ss;
};

console.log(lengthOfLongestSubstring('pwwkew'));

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...