เปลือกนูนของจุดจำนวนเต็ม
สร้างเปลือกนูนทวนเข็มนาฬิกาจากจุดจำนวนเต็มไม่เกิน 1000 จุดโดยเริ่มจากจุดแรกตามลำดับพจนานุกรม.
def convex_hull(points):
if type(points) is not list or len(points) > 1000:
raise ValueError("hull.input")
if any(type(p) not in (tuple, list) or len(p) != 2 or
any(type(v) is not int for v in p) for p in points):
raise ValueError("hull.point")
ordered = sorted(set(map(tuple, points)))
if len(ordered) <= 1:
return ordered
def turn(a,b,c):
return (b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])
def chain(sequence):
out = []
for p in sequence:
while len(out) >= 2 and turn(out[-2],out[-1],p) <= 0:
out.pop()
out.append(p)
return out
return chain(ordered)[:-1]+chain(reversed(ordered))[:-1]- โปรเจกต์
- ทดสอบอินพุตว่าง จุดซ้ำ และจุดร่วมเส้น โดยเก็บเฉพาะปลายสุดและปฏิเสธพิกัดเศษส่วน.
- ตรวจสอบก่อนนำไปใช้
- เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
- โมเดล
- ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
def convex_hull(points):
if type(points) is not list or len(points) > 1000:
raise ValueError("hull.input")
if any(type(p) not in (tuple, list) or len(p) != 2 or
any(type(v) is not int for v in p) for p in points):
raise ValueError("hull.point")
ordered = sorted(set(map(tuple, points)))
if len(ordered) <= 1:
return ordered
def turn(a,b,c):
return (b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])
def chain(sequence):
out = []
for p in sequence:
while len(out) >= 2 and turn(out[-2],out[-1],p) <= 0:
out.pop()
out.append(p)
return out
return chain(ordered)[:-1]+chain(reversed(ordered))[:-1]เชื่อมการแก้เรขาคณิตกับแอปพลิเคชันที่ใช้งาน
โค้ดเรขาคณิตตรวจง่ายขึ้นเมื่อระบุผลที่ต้องการในแง่ของแอปพลิเคชัน Hullspring เป็นพื้นที่ทำงานเขียนโค้ดด้วย AI บน Windows สำหรับพิจารณาข้อกำหนดนั้นขณะเปิดโครงการ ขอให้โมเดลที่เชื่อมต่อตรวจการคำนวณและส่วนที่ใช้ผลก่อนเสนอการแก้ เพื่อให้ข้อเสนอตอบพฤติกรรมจริงแทนการจัดสูตรใหม่เท่านั้น
ตัวอย่างเช่น เครื่องมือเลือกอาจใช้ขอบเขตภายนอกรอบชุดจุด ขอให้ตรวจว่าจุดซ้ำและจุดร่วมเส้นตรงกระทบขอบเขตอย่างไร และอธิบายว่าต้องมีจุดกลางบนขอบในผลหรือไม่ ใส่ผู้เรียกสำหรับการแสดงผลและชุดข้อมูลตัวแทน ทำให้ผู้ช่วยมีงานที่ชัดเจนโดยไม่สมมติว่า Hullspring มีเครื่องมือเลือกใดมาให้
ตรวจแพตช์ที่เสนอทั้งลำดับผล การตรวจข้อมูลเข้า กรณีว่าง และรูปทรงทั่วไป รันโครงการด้วยจุดบนเส้นตรง พิกัดซ้ำ และรูปหลายเหลี่ยมเล็ก ๆ เทียบลำดับที่คืนกับสิ่งที่ส่วนใช้ผลคาดหวัง ชุดจุดที่ถูกทางเรขาคณิตยังแสดงผิดได้หากกติกาลำดับหรือการปิดรูปต่างกัน
Hullspring รองรับการเชื่อมต่อโมเดลผ่านปลายทางที่เข้ากันได้กับ OpenAI หรือ Anthropic อาจเลือกโมเดล AI แบบ abliterated ได้เมื่อมี แต่บริการนั้นกำหนดข้อจำกัด ความจุบริบท และเครื่องมือ ใช้การสนทนาเพื่อทำให้ทางเลือกการเขียนโค้ดชัดเจนและยึดการตรวจยืนยันกับชุดทดสอบของโครงการ
เตรียมคำขอบำรุงรักษาเรขาคณิต
- ควรเก็บจุดร่วมเส้นตรงบนขอบไว้หรือไม่?
ระบุข้อกำหนดของส่วนที่ใช้ผล บางงานต้องการเพียงจุดยอดสุดขอบ ขณะที่บางงานเก็บจุดกลาง ขอให้โมเดลตรวจกติกาปัจจุบันและระบุการเปลี่ยนนโยบายให้ชัดทั้งในข้อเสนอและการทดสอบ
- ทำไมต้องใส่โค้ดแสดงผลในการตรวจการคำนวณ?
โค้ดอาจคาดหวังลำดับการเดินจุดเฉพาะหรือจุดยอดปิดรูปที่ซ้ำ การคำนวณอาจคืนจุดที่ต้องการแต่ผิดข้อกำหนดนี้ การตรวจส่วนใช้ผลช่วยป้องกันการแก้เฉพาะจุดที่ทำให้การแสดงผลถดถอย
- ชุดข้อมูลใดเผยสมมติฐานได้เร็ว?
ใช้ชุดว่าง จุดเดียว จุดซ้ำ เส้นตรง และรูปหลายเหลี่ยมเล็กที่มีจุดภายใน เขียนกติกาผลที่คาดหวังแต่ละกรณี รันในโครงการแทนพึ่งรูปที่วาดเพียงอย่างเดียว
- แพตช์ขยายชนิดพิกัดที่รับได้โดยบังเอิญได้หรือไม่?
ถือเป็นการเปลี่ยนข้อกำหนดแยกต่างหาก รูปแทนตัวเลขต่างกันอาจกระทบการเปรียบเทียบและตรวจสอบ ถามเหตุผลที่ต้องขยายและตรวจผู้เรียกก่อนยอมรับเป็นส่วนหนึ่งของการแก้เรขาคณิตที่มีขอบเขตจำกัด
Hullspring · อัปเดต 2026-10-25