Rumah >pembangunan bahagian belakang >Tutorial Python >Cari- Cari Kedudukan Sisipan
Saya melakukan Search-35. Kedudukan Sisipan Carian
Berikut ialah soalan:
Memandangkan tatasusunan diisih integer berbeza dan nilai sasaran, kembalikan indeks jika sasaran ditemui. Jika tidak, kembalikan indeks ke tempatnya jika ia dimasukkan mengikut urutan.
Anda mesti menulis algoritma dengan kerumitan masa jalan O(log n).
Contoh 1:
Input: angka = [1,3,5,6], sasaran = 5
Keluaran: 2
Contoh 2:
Input: angka = [1,3,5,6], sasaran = 2
Keluaran: 1
Contoh 3:
Input: angka = [1,3,5,6], sasaran = 7
Keluaran: 4
Kod:
class Solution(object): def searchInsert(self, nums, target): index = 0 for index in range(len(nums)): if nums[index] == target: return index elif nums[index] > target: return index return len((nums))
Fikiran saya:
Saya menggunakan julat(len(nums)) untuk mengulangi semua nombor dalam nums. Semak sama ada terdapat nombor yang sama. Sementara itu, saya akan menyemak sama ada num[index] > sasaran. Jika ini Benar, yang bermaksud nombor tidak mempunyai nombor yang sama dengan sasaran. Jadi ia akan mengembalikan indeks, yang merupakan kedudukan tepat untuk sisipan. Jika tidak, kembalikan panjang nombor.
Sila tinggalkan soalan!!!
Sila beritahu saya di mana boleh mencari penyelesaian yang baik untuk Python (Leetcode)
Atas ialah kandungan terperinci Cari- Cari Kedudukan Sisipan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!