العنوان الأصلي:
بالنظر إلى تسلسل غير مرغوب فيه من الأعداد الصحيحة ، ابحث عن أطول تسلسل للأرقام المتتالية.
على سبيل المثال:
معطى [100 ، 4 ، 200 ، 1 ، 3 ، 2] ،
أطول تسلسل للأرقام المتتالية هو [1 ، 2 ، 3 ، 4].
الحل الذي قدمه Xiaocai:
الدالة maxsequence (صفيف ، خطوة) {var _array = array.slice () ، // clone array_step = 1 ، _arraytemp = [] ، i = 0 ؛ var parselogic = {// result containerparseresults: [] ، الوظيفة (n) {this.parseresults [this.parseresults.length-1] .push (n) ؛} ، // احصل على آخر مجموعة من parseresultsget: function () {return this.parseresults [this.parseresults.length-1] function () {this.parseresults.push ([]) ؛} ، _step ؛ // فرز صفيف بواسطة asc_array.sort (الدالة (A ، b) {return a - b ؛}) ؛ _arraytemp.slice () ؛ _ arraytemp = [] _array [i+1]) {parselogic.set (_array [i]) ؛ متابعة ؛} if (_array [i] -_ step == _array [i-1]) {parselogic.set (_array [i]) ؛ parselogic.get () ؛}تعليمات الاتصال:
اسم الطريقة:
الحد الأقصى (صفيف ، خطوة)
وصف المعلمة:
صفيف: الصفيف يمكن العثور عليه. ضروري.
الخطوة: خطوة التسلسل (الزيادة). اختياري ، الافتراضي هو 1.
قيمة الإرجاع:
لا تغير هذه الطريقة الصفيف الذي تم تمريره ويعيد صفيفًا جديدًا يحتوي على أكبر تسلسل.
مثال اتصل على:
maxsovery ([5،7،2،4،0،3،9] ، 1) ؛ // Return [2،3،4،5] maxsovelence ([5،7،2،4،0،3،9] ، 2) ؛ // العودة [5،7،9]