พื้นที่เขียนโค้ดด้วย AI
ผลรวมช่วงต่อเนื่องสูงสุด
หาผลรวมช่วงต่อเนื่องสูงสุดจากจำนวนเต็มไม่เกิน 1000 ค่าที่มีขนาดไม่เกินหนึ่งพันล้านพร้อมผลรวมและขอบเขตท้ายแบบไม่รวม.
● ● ●SpanKestrel●
ขั้นตอนการทำงาน · ผลรวมช่วงต่อเนื่องสูงสุด ×
def maximum_subarray(values):
if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
raise ValueError("subarray.input")
if not values:
return None
best = None
total, start = 0, 0
for end, value in enumerate(values, 1):
if total < 0:
total, start = 0, end - 1
total += value
candidate = (total, start, end)
if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
best = candidate
return best✳หาผลรวมช่วงต่อเนื่องสูงสุดจากจำนวนเต็มไม่เกิน 1000 ค่าที่มีขนาดไม่เกินหนึ่งพันล้านพร้อมผลรวมและขอบเขตท้ายแบบไม่รวม.
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
- โมเดล
- ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
- โปรเจกต์
- ทดสอบค่าลบทั้งหมดและข้อมูลว่าง หากเสมอให้เลือกจุดเริ่มแล้วจุดจบที่เร็วที่สุด.
- ตรวจสอบก่อนนำไปใช้
- เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
ขั้นตอนการทำงาน
def maximum_subarray(values):
if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
raise ValueError("subarray.input")
if not values:
return None
best = None
total, start = 0, 0
for end, value in enumerate(values, 1):
if total < 0:
total, start = 0, end - 1
total += value
candidate = (total, start, end)
if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
best = candidate
return best