deda
Deda의 데이터 디자인
deda
전체 방문자
오늘
어제
  • 분류 전체보기 (121)
    • Python (27)
      • Python 기초 (17)
      • Python 데이터분석 (10)
    • SQL (9)
    • Coding test (54)
      • Python 기초문제 (45)
      • LeetCode (9)
    • BigData (2)
    • ZeroBase (3)
    • UX (0)
    • Business Review (1)
    • 통계 & 수학 (17)
      • 통계학 (14)
      • 수학 (3)
    • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 계차수열
  • 파이썬
  • 등비수열
  • pandas
  • 소인수분해
  • 데이터사이언티스트
  • matplotlib
  • 데이터분석
  • 데이터분석가
  • 프로그래밍
  • 팩토리얼
  • 미니콘다
  • 최소공배수
  • 함수
  • SQL
  • 마이데이터
  • BMI
  • 기초수학
  • 군수열
  • 부트캠프
  • 통계
  • 릿코드
  • 네카라쿠배
  • 코딩
  • 빅데이터
  • 모듈
  • 계산기
  • 제로베이스
  • 데이터엔지니어
  • 등차수열

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
deda

Deda의 데이터 디자인

[LeetCode] Merge Sorted Array
Coding test/LeetCode

[LeetCode] Merge Sorted Array

2022. 5. 20. 13:41

🔍  문제

You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively.

Merge nums1 and nums2 into a single array sorted in non-decreasing order.

The final sorted array should not be returned by the function, but instead be stored inside the array nums1. To accommodate this, nums1 has a length of m + n, where the first m elements denote the elements that should be merged, and the last n elements are set to 0 and should be ignored. nums2 has a length of n.

Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
Output: [1,2,2,3,5,6]
Explanation: The arrays we are merging are [1,2,3] and [2,5,6].
The result of the merge is [1,2,2,3,5,6] with the underlined elements coming from nums1.

 

🖥  실행

1) Answer

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int)

        for i in range(1, len(nums1)-m+1):
            nums1.pop()
        
        for i in range(1, len(nums2)-n+1):
            nums2.pop()

        nums1 += nums2
        nums1.sort()
        return nums1

 

2) Better Solution

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int)
 
        for i in range(n):
            nums1[i + m] = nums2[i]
        
        nums1.sort()

 

'Coding test > LeetCode' 카테고리의 다른 글

[LeetCode] Height Checker  (0) 2022.05.20
[LeetCode] Move Zeroes  (0) 2022.05.20
[LeetCode] Replace Elements with Greatest Element on Right Side  (0) 2022.05.20
[LeetCode] Valid Mountain Array  (0) 2022.05.20
[LeetCode] Find Numbers with Even Number of Digits  (0) 2022.05.20
    'Coding test/LeetCode' 카테고리의 다른 글
    • [LeetCode] Move Zeroes
    • [LeetCode] Replace Elements with Greatest Element on Right Side
    • [LeetCode] Valid Mountain Array
    • [LeetCode] Find Numbers with Even Number of Digits
    deda
    deda
    데이터 분석 / 파이썬 / UX / 정량리서치

    티스토리툴바