Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาขั้นตอนน้อยสุดเพื่อทำให้สมาชิกอาร์เรย์เท่ากันใน JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข num เป็นอาร์กิวเมนต์เดียว ฟังก์ชันต้องสร้างอาร์เรย์ n สมาชิกตามกติกา:

arr[i] = (2 * i) + 1;

ดังนั้นถ้าตัวเลขนำเข้าคือ 5 อาร์เรย์จะเป็น:

const arr = [1, 3, 5, 7, 9];

ฟังก์ชันต้องคำนวณและคืนจำนวนขั้นตอนน้อยสุด เพื่อให้สมาชิกทั้งหมดในอาร์เรย์เท่ากัน

นิยามหนึ่งขั้นตอน: เลือกสองตัวเลขที่ต่างกันจากอาร์เรย์ บวก 1 ให้ตัวแรก และลบ 1 ให้ตัวที่สอง

สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรเป็น:

const output = 6;

ตัวอย่างโค้ด

const num = 5;
const minimumOperations = (num = 1) => {
  if(num === 1) {
    return 0;
  }
  let arr = new Array(num);
  let i = 0;
  let res = 0;
  while(i < num) {
    arr[i] = (2 * i) + 1;
    if(arr[i] < num) res += num - arr[i];
    i++;
  }
  return res;
};
console.log(minimumOperations(num));

ผลลัพธ์

6