THẢO LUẬN

Set cũng là 1 dạng hash table. Chỉ khác là các phần tử trong Set được lưu trữ dưới dạng các cặp key-value(K,V) với các value là hằng số. Ví dụ: 1 Set có các phần tử {1, 2, 3} thì bản chất đằng sau là 1 hash table có thể biểu thị dưới dạng object như sau: {1: true, 2: true, 3: true} Do đó, để khởi tạo 1 Set ta cần phải lặp qua array (O(N)) và sử dụng phương thức Object.hasProperty() để kiểm tra phần tử có tồn tại chưa trước khi thêm vào.

Thế nên time complexity vẫn là O(N).

+2

array.png

Nếu add một array vào Set thì Set đó sẽ thêm 1 element mới chính là array mà ta? Vậy thì đâu có loại bỏ phần tử trùng nhau 🤔 set2.png

0
thg 4 11, 2021 9:20 SA

@KienNguyen0207 bạn đợi nhé mình đợt này bận nhiều công việc quá chưa có thời gian viết. Sẽ ra sớm thôi ạ.

0
thg 4 11, 2021 9:00 SA

@loveruby Thực tế là đây nè fIjTXDDSyg.png

0
thg 4 11, 2021 8:17 SA

Chào bạn, cảm ơn bài viết của bạn. Mình có một câu hỏi là mình thấy tất cả fields trong bảng đều push hết lên elasticsearch, trong case mình muốn put một vài cột lên thôi thì có options nào để cấu hình không bạn ?

0

Viết tiếp đi bạn

0
thg 4 11, 2021 7:13 SA

hóng các bài sâu hơn tiếp sau của bạn @ledangtuanbk 😃 👍

0
thg 4 11, 2021 5:11 SA

Cái này đơn gỉan thôi bạn nha. Mình k còn source trong bài viết này nên làm tạm lại 1 cái Accessory là một class chứa data như sau:

class Accessory { int _id; String _title; int _price; String _imageUrl;

Accessory(this._id, this._title, this._price, this._imageUrl); } mình viết lại nên chắc sẽ thiếu vài trường ở trong bài viết.

0

Cột deleted_at theo mình tìm hiểu thì không có đánh index. Thì sau này soft_deleted sẽ làm chậm đi hệ thống rất nhiều. Không biết laravel có cách khắc phục không nhỉ?

0
thg 4 11, 2021 3:36 SA

hoặc đọc code được MND implement bằng cách khử đệ quy https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js

0
thg 4 11, 2021 3:33 SA
  1. Dùng hàm .flat của mảng, tham khảo thêm ở MDN
  2. Tự implement bằng đệ quy const array = [[1, [7,[8],7],2], 3, 4, 5, [6,[[0,8,8],8,8], 7, 8, 9]]; function flat(arr){ const tempArray = [] for (let element of arr){ if(Array.isArray(element)){ tempArray.push(...flat(element)) } else{ tempArray.push(element) } } return tempArray } let b = flat(array) console.log(b)
0
thg 4 11, 2021 3:09 SA

gem "swagger-block" => gem "swagger-blocks", gem "swagger-ui-engine" => gem "swagger_ui_engine"

0
thg 4 11, 2021 2:33 SA

E gop y 1 chut a : Ben tren ghi tao file register.php e nghi phai la registration.php, Va tao file route.xml phai la routes.xml thieu s a.

0
thg 4 11, 2021 2:18 SA

nếu mảng đa chiều thì làm ntn vậy bạn ơi vd : [[1, [7,[8],7]2], 3, 4, 5, [6,[,[0,8,8]8,8] 7, 8, 9]];

0

Phần dùng lastIndexOf() là bậy rồi nha. Ví dụ chuỗi JavaScriptJava thì lastIndexOf('Java') không ra 0 đâu.

+1
thg 4 11, 2021 1:20 SA

Chào bạn, mình thấy ý kiến của bạn khá hay, nó giúp tối ưu được query. Người thiết kế hệ thống nên lưu trữ như vậy. Mình đã từng làm theo cách đấy, tuy nhiên nếu có khá nhiều luồng can thiệp vào DB mà mình không kiểm soát được, mình thường dùng thêm 1 thread để sync lại các giá trị đó, khoảng thời gian sinh tùy thuộc vào yêu cầu hệ thống.

0
thg 4 10, 2021 1:00 CH

Em đang đọc từ phần 1 qua, rồi đến làm thế nào để tạo và gọi _sampleData cũng như Accessory tự nhiên bị kẹt luôn. Anh có thể nói chi tiết thêm về các tạo/khai báo chúng được không?

0
thg 4 10, 2021 10:29 SA

@mrhoang thì câu mình hỏi là từ Udemy mà :v nên thấy Udemy 1 đằng nhưng câu kia 1 nẻo mới thắc mắc. ngoài ra là 15 instances chia 2 AZ thì không thể có số lượng bằng nhau được

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí