Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วิธีค้นหาและส่งคืนชุดตัวเลขที่ซ้ำกันที่ยาวที่สุดในอาร์เรย์ด้วย JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers ที่อาจมีองค์ประกอบที่ซ้ำกัน ฟังก์ชันควรคืนค่าความยาวของลำดับตัวเลขที่ซ้ำกันที่ยาวที่สุดจากอาร์เรย์

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];

จากนั้นผลลัพธ์ควรเป็น 3 เนื่องจากหมายเลข 2 ซ้ำกัน 3 ครั้งในอาร์เรย์ (และนั่นคือจำนวนสูงสุด)

ตัวอย่าง

const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];
const findLongestSequence = (arr = []) => {
   const res = arr.reduce((acc,val,ind) => {
      if(acc.length && acc[acc.length-1][0] === val){
         acc[acc.length-1].push(val);
      }else{
         acc.push([val]);
      };
      return acc;
   },[]).reduce((acc, val) => {
      return val.length > acc.length ? val : acc;
   }); return res.length;
}
console.log(findLongestSequence(arr));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

3