Lấy mảng phụ trong javascript

Mã này thực sự là một vòng lặp lồng nhau. vòng lặp bên ngoài trên các phần tử mảng và tổng số bên trong bắt đầu bằng phần tử hiện tại

function getMaxSubSum(arr) {
  let maxSum = 0; // if we take no elements, zero will be returned

  for (let i = 0; i < arr.length; i++) {
    let sumFixedStart = 0;
    for (let j = i; j < arr.length; j++) {
      sumFixedStart += arr[j];
      maxSum = Math.max(maxSum, sumFixedStart);
    }
  }

  return maxSum;
}

alert( getMaxSubSum([-1, 2, 3, -9]) ); // 5
alert( getMaxSubSum([-1, 2, 3, -9, 11]) ); // 11
alert( getMaxSubSum([-2, -1, 1, 2]) ); // 3
alert( getMaxSubSum([1, 2, 3]) ); // 6
alert( getMaxSubSum([100, -9, 2, -3, 5]) ); // 100

Lời giải có độ phức tạp thời gian là O(n2). Nói cách khác, nếu chúng ta tăng kích thước mảng lên 2 lần thì thuật toán sẽ hoạt động lâu hơn gấp 4 lần

JavaScript. đã gõArray. subarray() với các ví dụ

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Cập nhật lần cuối. 14 tháng 2 năm 2019

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    Mảng đã nhập. subarray() là một hàm sẵn có trong JavaScript được sử dụng để trả về một phần của đối tượng typedArray.
    Cú pháp.

    typedarray.subarray(begin, end)

    Thông số. Nó chấp nhận hai tham số được mô tả dưới đây

    1. bắt đầu. Nó chỉ định chỉ mục của phần tử bắt đầu mà từ đó phần của mảng đã cho được bắt đầu. Nó là tùy chọn và bao gồm
    2. chấm dứt. Nó chỉ định chỉ mục của phần tử kết thúc mà phần của mảng đã cho sẽ được đưa vào. Nó là tùy chọn và độc quyền

    Giá trị trả về. Nó trả về một mảng mới được hình thành từ đối tượng typedArray đã cho

    Mã JavaScript để hiển thị hoạt động của chức năng này.
    Mã số 1.




    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    0

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____23

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______25
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    6
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    0

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____23

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____25

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____27

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____29

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2
    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____73

    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    4

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2
    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    6

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2
    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    8

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______200____201
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______204
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    01
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______208
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    01
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____212
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    01
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____216____201
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    20

    đầu ra

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35

    Mã số 2.
    Khi chỉ số âm thì các phần tử được truy cập từ phần cuối của đối tượng typedArray.

    Dưới đây là mã bắt buộc minh họa khái niệm lập chỉ mục tiêu cực này




    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    0

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____23

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______25
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    6
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    0

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____23

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____233

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____235

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____237

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____239

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____73

    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    4

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2
    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    6

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2
    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35
    8

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______200____201
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______204
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    01
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2______208
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    01
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____212
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    01
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    2____216____201
    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    02

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    1

    10,15
    10,15,20,25,30,35
    20,25,30,35
    5,10,15,20,25,30
    5,10,15,20,25,30,35
    20

    đầu ra

    35
    30,35
    25,30,35
    20,25,30,35
    5,10,15,20,25,30,35

    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    Làm cách nào để lấy mảng phụ trong JavaScript?

    Thuật toán. .
    Duyệt mảng từ đầu đến cuối
    Từ mỗi chỉ mục bắt đầu một vòng lặp khác từ i đến cuối mảng để lấy tất cả các mảng con bắt đầu từ i, giữ một biến sum để tính tổng
    Đối với mọi chỉ mục trong cập nhật vòng lặp bên trong sum = sum + array[j]
    Nếu tổng bằng tổng đã cho thì in ra mảng con

    Làm cách nào để lấy một phần của mảng trong Java?

    Ánh xạ các phần tử đã chỉ định từ mảng ban đầu bằng phương thức map(). Chuyển đổi mảng được ánh xạ thành mảng bằng phương thức toArray(). .
    Lấy Mảng và start Index và end Index
    Lấy lát cắt bằng Arrays. phương thức copyOfRange()
    Trả về hoặc in lát của mảng

    Làm cách nào để cắt mảng đối tượng trong JavaScript?

    Mảng. nguyên mẫu. slice() Phương thức slice() trả về một bản sao nông của một phần của mảng vào một đối tượng mảng mới được chọn từ đầu đến cuối (không bao gồm phần cuối) trong đó phần đầu và phần cuối biểu thị chỉ số của . Mảng ban đầu sẽ không bị sửa đổi.

    Làm cách nào để lấy phạm vi từ mảng JavaScript?

    Mảng JavaScript - lấy phạm vi mục .
    var newArr = mảng. lát (bắt đầu, kết thúc);
    // nếu bạn muốn 3 đến 7 thì người dùng
    var newArr = mảng. lát (2, 7);
    // nếu bạn muốn từ một vị trí (ví dụ thứ 5) đến cuối mảng
    var newArr = mảng. lát(4);