Leetcode 150 - Week 01

#leetcode

Sau bao tháng ngày lông nhông với các platform lập trình mobile thì toai quay về lại với cái căn bản nhất và cũng là cái mà toai sợ nhất khi đi interview - thuật toán. Đã đến lúc toai muốn mình thoát khỏi khỏi cảnh “dốt thuật toán”. Yeah, lẹc gâu!

Đây là hành trình Leetcode 150 ngày để luyện thuật toán của toai.

1. Những thuật toán gặp trong tuần đầu tiên #

Bắt đầu hành trình với việc giải những bài về Array và String. Những thuật toán toai đã va phải trong tuần đầu.

2. Leetcode problems #

  1. Merge Sorted Array #88
  2. Remove Element #27
    • Easy
    • Đề bài: Remove Element
    • Yêu cầu:
      • Thay đổi mảng nums với k phần tử không bao gồm các giá trị bằng val, các phần tử còn lại của mảng không quan trọng bằng kích thước của màng.
      • Return k.
    • Phân tích:
      • Khởi tạo k = 0 là kích thước mới cho mảng nums.
      • for từ 0 -> hết mảng, kiểm tra nếu giá trị nào trong mảng nums khác với số val thì thêm vào mảng nums với k phần tử.
      • Tăng k.
    • Lời giải:
      public int removeElement(int[] nums, int val) {
       int k = 0;
       for (int i = 0; i < nums.length; i++) {
         if (nums[i] != val) {
             nums[k++] = nums[i];
         }
       }
       return k;
      }