LeetCode: Arrays 101: Inserting Items Into an Array
- 1 minute de citit
- 2 exemple de cod
Disponibil și în English
Pe această pagină
Salut,
Iată soluțiile mele pentru a doua parte a cardului Arrays 101, de pe LeetCode.
Duplicate Zeroes
Se dă un array de numere întregi. Elimină zerourile duplicate și deplasează elementele rămase.
class Solution: def duplicateZeros(self, arr: List[int]) -> None: """ Do not return anything, modify arr in-place instead. """ index = 0 arr_length = len(arr) while index < arr_length: if arr[index] == 0: arr.insert(index, 0) arr.pop() index += 1 index += 1Merge Sorted Array
Se dau două array-uri sortate, unește-le în nums1.
Această problemă nu era foarte Pythonic, iar eu vreau de fapt să exersez abilitățile de rezolvare a problemelor împreună cu cele de Python, așa că mi-am luat libertatea să modific puțin problema:
from typing import Listclass Solution: def merge(self, nums1: List[int], nums2: List[int]) -> None: """ Do not return anything, modify nums1 in-place instead. """ n = len(nums2) # elimină 0 din nums1 nums2_index = 0 for i, num in enumerate(nums1): # Am ajuns la sfârșitul lui nums2, înseamnă că am terminat de unit. if nums2_index == n: break if nums2[nums2_index] <= num: nums1.insert(i, nums2[nums2_index]) nums2_index += 1 # Dacă a mai rămas ceva în nums2, îl adăugăm la sfârșit for item in nums2[nums2_index:]: nums1.append(item)if __name__ == '__main__': s = Solution() a = [1,2,3] s.merge(a, [2,5,6]) print(a)Mulțumesc!
[jetpack_subscription_form show_subscribers_total=”false” button_on_newline=”true” custom_font_size=”16px” custom_border_radius=”0″ custom_border_weight=”1″ custom_padding=”15″ custom_spacing=”10″ submit_button_classes=”has-text-color has-background-color has-background has-primary-background-color” email_field_classes=”” show_only_email_and_button=”true”]