Rumah >pembangunan bahagian belakang >Tutorial Python >Elemen Alih Keluar Hari Leetcode Dijelaskan
Masalahnya adalah seperti berikut:
Memandangkan nums tatasusunan integer dan val integer, alih keluar semua kejadian val dalam nums di tempat. Susunan unsur boleh diubah. Kemudian kembalikan bilangan elemen dalam nombor yang tidak sama dengan val.
Pertimbangkan bilangan elemen dalam nombor yang tidak sama dengan val be k, untuk diterima, anda perlu melakukan perkara berikut:
Hakim Tersuai:
Hakim akan menguji penyelesaian anda dengan kod berikut:
int[] nums = [...]; // Input array int val = ...; // Value to remove int[] expectedNums = [...]; // The expected answer with correct length. // It is sorted with no values equaling val. int k = removeElement(nums, val); // Calls your implementation assert k == expectedNums.length; sort(nums, 0, k); // Sort the first k elements of nums for (int i = 0; i < actualLength; i++) { assert nums[i] == expectedNums[i]; }
Jika semua penegasan lulus, maka penyelesaian anda akan diterima.
Contoh 1:
Input: nums = [3,2,2,3], val = 3 Output: 2, nums = [2,2,_,_] Explanation: Your function should return k = 2, with the first two elements of nums being 2. It does not matter what you leave beyond the returned k (hence they are underscores).
Contoh 2:
Input: nums = [0,1,2,2,3,0,4,2], val = 2 Output: 5, nums = [0,1,4,0,3,_,_,_] Explanation: Your function should return k = 5, with the first five elements of nums containing 0, 0, 1, 3, and 4. Note that the five elements can be returned in any order. It does not matter what you leave beyond the returned k (hence they are underscores).
Berikut ialah cara saya menyelesaikannya:
Untuk menyelesaikan masalah ini, saya menggunakan dua strategi utama:
class Solution: def removeElement(self, nums: List[int], val: int) -> int: k = 0
for i in range(len(nums)): if nums[i] != val: nums[k] = nums[i] k += 1
return k
Berikut ialah penyelesaian yang lengkap:
class Solution: def removeElement(self, nums: List[int], val: int) -> int: k = 0 for i in range(len(nums)): if nums[i] != val: nums[k] = nums[i] k += 1 return k
Atas ialah kandungan terperinci Elemen Alih Keluar Hari Leetcode Dijelaskan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!