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 += 1

Merge 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”]