HHopwise
Ruang kerja kode dengan AI

Jumlah lompatan berarah terpendek

Hitung jarak lompatan berarah terpendek dari satu simpul pada graf dengan 1 sampai 1000 simpul.

● ● ●Hopwise●
Alur kerja · Jumlah lompatan berarah terpendek ×
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
✳Jumlah lompatan berarah terpendek
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Model

Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

02

Proyek

Uji siklus, sisi berulang dan simpul tak terjangkau, lalu tolak graf kosong atau ujung tak valid sebelum penelusuran.

03

Tinjau sebelum menerapkan

Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

Alur kerja

Jumlah lompatan berarah terpendek

Alur kerja ↗
Alur kerja
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
Ruang kerja kode dengan AI

Jaga hasil graf tetap bermakna bagi aplikasi

Hasil graf hanya berguna jika pemanggil memahami arti setiap nilai. Hopwise menyediakan ruang kerja pemrograman AI untuk Windows bagi kode terkait graf, menghubungkan kode sumber dengan percakapan tentang kontraknya. Mulailah dari representasi masukan dan cara aplikasi menampilkan atau menggunakan hasil, bukan meminta penggantian algoritme secara terpisah.

Untuk tugas lompatan terpendek, tunjukkan graf berarah kecil dengan simpul yang terjangkau dan tidak terjangkau. Minta model yang terhubung memeriksa bagaimana implementasi membedakan simpul awal dari simpul tanpa jalur. Sertakan siklus agar peninjauan mempertimbangkan penemuan berulang maupun rantai maju paling sederhana.

Selanjutnya, periksa batas tempat data graf masuk ke fungsi. Referensi simpul tidak valid harus mengikuti kebijakan yang disengaja, dan arah harus sesuai dengan makna sisi dalam aplikasi. Tinjau perubahan usulan bersama kode penggunanya, lalu jalankan data uji yang menegaskan hasil persis untuk setiap simpul. Pastikan penanganan keadaan tidak terjangkau tetap terlihat di antarmuka setelah perhitungan.

Hopwise mendukung endpoint kompatibel OpenAI atau Anthropic yang sesuai, termasuk model AI tanpa sensor yang tersedia. Perilaku respons sebenarnya, batas konteks, dan alat bergantung pada konfigurasi tersebut. Ruang kerja mendukung penyelidikan; bukti dari data uji graf dan pengujian integrasi Anda menentukan apakah perubahan siap dipertahankan.

Jaga hasil graf tetap bermakna bagi aplikasi — pertanyaan sebelum menyunting

Graf apa yang sebaiknya saya gunakan untuk menjelaskan masalah?

Pilih contoh berarah kecil dengan siklus, simpul tidak terjangkau, dan titik awal yang jelas. Tuliskan hasil yang diharapkan untuk setiap simpul. Ini membuat arah dan makna ketiadaan jalur lebih mudah diperiksa daripada graf produksi yang besar.

Mengapa membedakan nol lompatan dari tidak terjangkau?

Nol menggambarkan jarak simpul awal ke dirinya sendiri, sedangkan tidak terjangkau berarti tidak ditemukan jalur menurut kontrak graf. Jika pemanggil menyamakannya, antarmuka dapat menampilkan koneksi yang tidak ada. Tinjau representasi nilai kembalian dan penggunanya bersama-sama.

Bisakah jumlah lompatan digunakan untuk jalur berbobot?

Hanya jika setiap sisi mewakili biaya yang sama untuk tujuan tugas tersebut. Jika bobot penting, jelaskan persyaratan itu sebelum meminta perubahan. Implementasi lompatan terpendek tidak boleh disajikan sebagai pemenuhan tujuan optimasi berbeda.

Di mana referensi simpul tidak valid harus ditangani?

Tetapkan kebijakan pada batas masukan dan periksa pemanggil yang ada. Minta model mempertahankan jalur penolakan atau validasi yang jelas. Pengujian harus mencakup referensi cacat agar perilaku pengindeksan yang tidak disengaja tidak menjadi kontrak aplikasi.

Unduh untuk Windows ↗

Hopwise · Diperbarui 2026-10-25