โจทย์ · อัลกอริทึม ง่าย JavaScript ·
Summary ranges
Given a sorted list of distinct integers, summarize it as consecutive ranges. A range of several numbers is written "a->b", a single number as "a". Return the ranges in order.
โครงสร้างฟังก์ชัน
/**
* @param {number[]} nums
* @returns {string[]}
*/
function summary_ranges(nums)ตัวอย่าง
summary_ranges([0, 1, 2, 4, 5, 7]) // -> ["0->2", "4->5", "7"]
summary_ranges([0, 2, 3, 4, 6, 8, 9]) // -> ["0", "2->4", "6", "8->9"]
summary_ranges([]) // -> []พร้อม 5 การทดสอบแบบซ่อน และ 2 การทดสอบชุดข้อมูลขนาดใหญ่ ภายใต้เวลาจำกัด โดยไม่แสดงข้อมูลนำเข้า โจทย์ที่ส่งให้โมเดลเป็นภาษาอังกฤษ
อันดับ #1DeepSeek V4 Pro 0423แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 8.9 วินาที · เวลาประมวลผล 2.6 วินาที · $0.0007 ✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 2 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] <1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] 1 มิลลิวินาที ✓ 1 มิลลิวินาที✓ 1 มิลลิวินาที✓ <1 มิลลิวินาที✓ 1 มิลลิวินาที✓ 1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 95 มิลลิวินาทีโค้ด
/** * @param {number[]} nums * @returns {string[]} */ function summary_ranges(nums) { const result = []; const n = nums.length; if (n === 0) return result; let start = nums[0]; let prev = start; for (let i = 1; i < n; i++) { if (nums[i] === prev + 1) { prev = nums[i]; } else { result.push(start === prev ? `${start}` : `${start}->${prev}`); start = nums[i]; prev = start; } } result.push(start === prev ? `${start}` : `${start}->${prev}`); return result; }รอบแก้ตัว
แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 5.6 วินาที · $0.0009โมเดลจะเห็นจำนวนแบบทดสอบที่ไม่ผ่าน ตัวอย่างที่ไม่ผ่านพร้อมค่าที่คาดหวังและค่าที่ส่งกลับมา และเห็นเฉพาะสาเหตุที่แบบทดสอบที่ซ่อนอยู่ไม่ผ่านเท่านั้น โดยไม่เห็นอินพุตจริง ทั้งนี้จะไม่นำผลไปคิดอันดับหรือคะแนนประเมิน
✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 2 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] <1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] <1 มิลลิวินาที ✓ <1 มิลลิวินาที✓ 1 มิลลิวินาที✓ <1 มิลลิวินาที✓ <1 มิลลิวินาที✓ <1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 130 มิลลิวินาทีโค้ด
/** * @param {number[]} nums * @returns {string[]} */ function summary_ranges(nums) { const result = []; const n = nums.length; if (n === 0) return result; let i = 0; while (i < n) { let start = nums[i]; let j = i + 1; while (j < n && nums[j] === nums[j-1] + 1) { j++; } let end = nums[j-1]; if (start === end) { result.push(start.toString()); } else { result.push(start + "->" + end); } i = j; } return result; }อันดับ #1OpenAI GPT-6.1 Terraแก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 2.2 วินาที · เวลาประมวลผล 2.6 วินาที · $0.0009 ✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 3 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] <1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] <1 มิลลิวินาที ✓ <1 มิลลิวินาที✓ 1 มิลลิวินาที✓ <1 มิลลิวินาที✓ 6 มิลลิวินาที✓ 1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 105 มิลลิวินาทีโค้ด
function summary_ranges(nums) { const result = []; const n = nums.length; let i = 0; while (i < n) { const start = nums[i]; let end = start; i++; while (i < n && nums[i] - end === 1) { end = nums[i++]; } result.push(start === end ? String(start) : `${start}->${end}`); } return result; }รอบแก้ตัว
แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 2.8 วินาที · $0.0012โมเดลจะเห็นจำนวนแบบทดสอบที่ไม่ผ่าน ตัวอย่างที่ไม่ผ่านพร้อมค่าที่คาดหวังและค่าที่ส่งกลับมา และเห็นเฉพาะสาเหตุที่แบบทดสอบที่ซ่อนอยู่ไม่ผ่านเท่านั้น โดยไม่เห็นอินพุตจริง ทั้งนี้จะไม่นำผลไปคิดอันดับหรือคะแนนประเมิน
✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 1 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] <1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] <1 มิลลิวินาที ✓ <1 มิลลิวินาที✓ 1 มิลลิวินาที✓ 1 มิลลิวินาที✓ <1 มิลลิวินาที✓ 1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 127 มิลลิวินาทีโค้ด
function summary_ranges(nums) { const n = nums.length; if (n === 0) return []; const result = []; let start = nums[0]; let prev = start; for (let i = 1; i < n; i++) { const value = nums[i]; if (value - prev !== 1) { result.push(start === prev ? String(start) : start + "->" + prev); start = value; } prev = value; } result.push(start === prev ? String(start) : start + "->" + prev); return result; }อันดับ #1Qwen3.8 Max (0902)แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 7.6 วินาที · เวลาประมวลผล 2.6 วินาที · $0.0026 ✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 1 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] <1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] 1 มิลลิวินาที ✓ 3 มิลลิวินาที✓ 1 มิลลิวินาที✓ 1 มิลลิวินาที✓ 26 มิลลิวินาที✓ 1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 97 มิลลิวินาทีโค้ด
function summary_ranges(nums) { if (nums.length === 0) return []; const result = []; let start = nums[0]; let prev = nums[0]; for (let i = 1; i <= nums.length; i++) { if (i === nums.length || nums[i] !== prev + 1) { if (start === prev) { result.push(String(start)); } else { result.push(start + "->" + prev); } if (i < nums.length) { start = nums[i]; prev = nums[i]; } } else { prev = nums[i]; } } return result; }รอบแก้ตัว
แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 9.5 วินาที · $0.0039โมเดลจะเห็นจำนวนแบบทดสอบที่ไม่ผ่าน ตัวอย่างที่ไม่ผ่านพร้อมค่าที่คาดหวังและค่าที่ส่งกลับมา และเห็นเฉพาะสาเหตุที่แบบทดสอบที่ซ่อนอยู่ไม่ผ่านเท่านั้น โดยไม่เห็นอินพุตจริง ทั้งนี้จะไม่นำผลไปคิดอันดับหรือคะแนนประเมิน
✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 3 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] 1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] <1 มิลลิวินาที ✓ <1 มิลลิวินาที✓ <1 มิลลิวินาที✓ <1 มิลลิวินาที✓ 4 มิลลิวินาที✓ 1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 118 มิลลิวินาทีโค้ด
function summary_ranges(nums) { const n = nums.length; if (n === 0) return []; const result = []; let i = 0; while (i < n) { let j = i; while (j + 1 < n && nums[j + 1] === nums[j] + 1) { j++; } if (i === j) { result.push(String(nums[i])); } else { result.push(nums[i] + "->" + nums[j]); } i = j + 1; } return result; }อันดับ #1Mistral Devstral 2 2512แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 1.2 วินาที · เวลาประมวลผล 2.7 วินาที · $0.0005 ✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 2 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] 2 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] <1 มิลลิวินาที ✓ <1 มิลลิวินาที✓ 1 มิลลิวินาที✓ 35 มิลลิวินาที✓ <1 มิลลิวินาที✓ <1 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 134 มิลลิวินาทีโค้ด
function summary_ranges(nums) { if (nums.length === 0) return []; const ranges = []; let start = nums[0]; for (let i = 1; i < nums.length; i++) { if (nums[i] !== nums[i - 1] + 1) { if (start === nums[i - 1]) { ranges.push(start.toString()); } else { ranges.push(start + '->' + nums[i - 1]); } start = nums[i]; } } if (start === nums[nums.length - 1]) { ranges.push(start.toString()); } else { ranges.push(start + '->' + nums[nums.length - 1]); } return ranges; }รอบแก้ตัว
แก้ไม่ผ่าน · ผ่าน 9 จาก 10 การทดสอบตอบใน 1.1 วินาที · $0.0005โมเดลจะเห็นจำนวนแบบทดสอบที่ไม่ผ่าน ตัวอย่างที่ไม่ผ่านพร้อมค่าที่คาดหวังและค่าที่ส่งกลับมา และเห็นเฉพาะสาเหตุที่แบบทดสอบที่ซ่อนอยู่ไม่ผ่านเท่านั้น โดยไม่เห็นอินพุตจริง ทั้งนี้จะไม่นำผลไปคิดอันดับหรือคะแนนประเมิน
✓ summary_ranges([0, 1, 2, 4, 5, 7])ค่าที่คาดหวัง ["0->2", "4->5", "7"] 2 มิลลิวินาที ✓ summary_ranges([0, 2, 3, 4, 6, 8, 9])ค่าที่คาดหวัง ["0", "2->4", "6", "8->9"] <1 มิลลิวินาที ✓ summary_ranges([])ค่าที่คาดหวัง [] <1 มิลลิวินาที ✓ 5 มิลลิวินาที✓ 31 มิลลิวินาที✓ 1 มิลลิวินาที✓ 2 มิลลิวินาที✓ 4 มิลลิวินาที⏱ เกินเวลาที่กำหนด⏱ 134 มิลลิวินาทีโค้ด
function summary_ranges(nums) { const ranges = []; let start = nums[0]; for (let i = 1; i <= nums.length; i++) { if (i === nums.length || nums[i] !== nums[i - 1] + 1) { ranges.push(start === nums[i - 1] ? start.toString() : start + '->' + nums[i - 1]); if (i < nums.length) start = nums[i]; } } return ranges; }
ค่าใช้จ่ายโทเค็น: $0.01 · วิธีจัดการแข่งขันและการคิดคะแนน →