THẢO LUẬN

thg 11 9, 2020 11:06 SA

Ở docker-compose.yml, đoạn map port của service app e bỏ 2 dấu ngoặc kép đi nhé.

Có thể ở mỗi môi trường khác nhau nó hơi khác nhau. Khả năng trên centos nó đang nhận là string (trong khi lỗi in ra yêu cầu là number)

Nếu sau đó vẫn ko đc thì e thử thêm dấu ngoặc kép vào PORT ở file .env xem nhé

0
thg 11 9, 2020 10:43 SA

A cho em hỏi. Sao e chạy trên centos7 thì n không nhận file .env ạ?Capture.PNG

0
thg 11 9, 2020 10:22 SA

bài viết thật hữu ích ❤️

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 9, 2020 9:23 SA

@thangtd90 với bài toán này bạn có nghĩ ra được hướng giải nào tối ưu nhất cho bài toán không ạ? từ khâu sql luôn ấy ạ

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 9, 2020 9:09 SA

@thangtd90 bởi vậy mình mới lên tham khảo anh chị em đó haha, với cách làm của bạn hiện tại mình thấy ok r, cảm ơn bạn nhiều nha

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 9, 2020 9:03 SA

@zingler Uhm, nếu là số lượng nhân viên thì có thể đếm trực tiếp từ cái mảng nhân viên ra rồi, nên không cần phải lưu nó lại làm gì. Lúc đó đoạn code khai báo ban đầu có thể sửa lại một cách gọn hơn là

let rooms = [];
rooms.push({id: "phong1", "staffs": "1,2,3,4,5"});
rooms.push({id: "phong2", "staffs": "1,2,4"});
rooms.push({id: "phong3", "staffs": "1,2,3"});
rooms.push({id: "phong4", "staffs": "2,3,4"});
rooms.push({id: "phong5", "staffs": "3,4"});

let staffs = [];
for (let room of rooms) {
  room.staffsArray = room.staffs.split(',');
  // Tính trực tiếp số lượng từ độ dài của mảng
  room.staffCounts = room.staffsArray.length; 
  staffs = staffs.concat(room.staffsArray.filter((item) => item && staffs.indexOf(item) < 0));
}

thôi 😄

Tuy nhiên đoạn code kia sau khi chạy thì sẽ ra kết quả

Phòng 1: 1 (chứa người có mã nhân viên là 5)
Phòng 2: 1 (1)
Phòng 3: 2 (2, 3)
Phòng 4: 1 (4)
Phòng 5: 0

Trong khi nếu sắp xếp chuẩn thì mỗi phòng có thể chứa 1 người là

Phòng 1: 1 (5)
Phòng 2: 1 (1)
Phòng 3: 1 (2)
Phòng 4: 1 (3)
Phòng 5: 1 (4)

Tức miêu tả về thuật toán bạn đưa ra ở đề bài, đó là giữ lại mã số nhân viên ở phòng có số lượng nhỏ nhất, và trừ số lượng ở các phòng khác đi 1, thì chưa phải là thuật toán tối ưu nhất rồi (^^;)

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 9, 2020 8:49 SA

@thangtd90 à đúng rồi, từ đầu cái đề đã sai rồi, thật ra nó là số lượng nhân viên = length của dsnv rồi , thế k nghĩ ra lưu dsnv như bạn nhỉ, dựa theo cách của bạn mình thấy ổn rồi

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 9, 2020 8:46 SA

@zingler Căn bản là mục đích cuối cùng bạn muốn làm gì, và đang cố gắng giải quyết vấn đề như thế nào thôi 😄

Nếu mục đích là để phân bố nhân viên vào trong từng phòng, thì có vẻ ngay logic ban đầu bạn đưa ra ở câu hỏi đã có vẻ không ổn rồi 🤔

Cho mình hỏi rõ hơn, cái trường số lượng "sl" ở đây là số lượng gì vậy bạn nhỉ? Số lượng nhân viên (đếm từ trong mảng danh sách mã số nhân viên), hay sức chứa còn lại của phòng 🤔

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 9, 2020 8:33 SA

Vậy mình trừ hết rồi dựa theo số lượng mà + thì hay hơn bạn nhỉ? nếu làm theo này sẽ có trường hợp như sau

Bảng gốc
Phòng 1 - 1,2 - 2
Phòng 2 - 1,2,3 - 3
Phòng 3 - 2,3 - 2
Step 1
Phòng 1 - 1,2 - 2 <
Phòng 2 - 2,3 - 2 \\ Bị trừ
Phòng 3 - 2,3 - 2
Step 2
Phòng 1 -  1,2 - 2 <
Phòng 2 - 3 - 1 \\ Bị trừ
Phòng 3 - 3 - 1 \\ Bị trừ
Step 3
Phòng 1 - 1,2 - 2
Phòng 2 - 3 - 1 <
Phòng 3 - null - 0 \\ Bị trừ

nhưng thực tế để phân bố đều tránh phòng bị ùn tắc thì sẽ có dạng

Phòng 1: 1
Phòng 2: 1
Phòng 3: 1

hoặc do mình xử lý từ sql đã sai rồi :-<

0
thg 11 9, 2020 7:37 SA

sai chính tả, truthy chứ ko phải trutly bạn nha

0
thg 11 9, 2020 7:14 SA

@cuongtobi96 tks anh, em cài gói liên kết để apache run được php và chạy được rồi

+1
Avatar
đã nhận xét cho câu hỏi
thg 11 9, 2020 3:46 SA

@zingler à mình hiểu rồi, cám ơn bạn nhé 😄 Ở trên mình hiểu nhầm một chút, phải là giữ nguyên số lượng ở phòng có số lượng ít nhất, và trừ 1 ở tất cả các phòng còn lại, chứ không phải là trừ 1 ở các phòng có số lượng ít nhất 😄

0

"Mô hình mà chúng ta sử dụng ở đây bao gồm 6 lớp Convolutional layer và 2 lớp Fully Connected Layer nối tiếp nhau. Tại sao chúng ta lại sử dụng mô hình này, và tại sao mô hình này lại hiệu quả cho bài toán, mình sẽ giải thích trong bài tiếp theo" - Bài tiếp theo là bài nào anh ơi ?

0
thg 11 9, 2020 3:42 SA

tks😶👍

0
Avatar
đã nhận xét cho câu hỏi
thg 11 9, 2020 3:37 SA

@thangtd90

Ban đầu
Phòng 1: 1,2,3,4,5 (msnv) - 6 (sl)
Phòng 2: 1,2,4 - 6
Phòng 3: 1,2,3 - 6
Phòng 4: 2,3,4 - 5
Phòng 5: 3,4 - 4

Step 1, so sánh mã nhân viên 1
Phòng 1: 1,2,3,4,5 - 6 <
Phòng 2: 1,2,4 - 5 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 3: 1,2,3 - 5 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 4: 2,3,4 - 5
Phòng 5: 3,4 - 4

Step 2, so sánh mã nhân viên 2
Phòng 1: 2,3,4,5 - 5 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 2: 2,4 - 5 <
Phòng 3: 2,3 - 4 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 4: 2,3,4 - 4 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 5: 3,4 - 4

Step 3, so sánh mã nhân viên 3
Phòng 1: 3,4,5 - 4 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 2: 4 - 5 
Phòng 3: 3 - 4 <
Phòng 4: 3,4 - 3 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 5: 3,4 - 3 // Trừ đi 1 so phòng có số lượng ít nhất 

Step 4, so sánh mã nhân viên 4
Phòng 1: 4,5 - 3 // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 2: 4 - 4  // Trừ đi 1 so phòng có số lượng ít nhất 
Phòng 3:  - 4  
Phòng 4: 4 - 3 <
Phòng 5: 4 - 2 // Trừ đi 1 so phòng có số lượng ít nhất 

Step 5, so sánh mã nhân viên 5
Phòng 1: 5 - 3
Phòng 2:  - 4 
Phòng 3:  - 4  
Phòng 4:  - 3 
Phòng 5:  - 2 

Đề bài là vậy bác ạ

+2

Viết bài như này nghỉ đi.lấy công số để đỡ bị phạt à

0
Avatar
đã nhận xét cho câu hỏi
thg 11 9, 2020 3:21 SA

@zingler

ở step 2 số lượng phòng 1 đã nhỏ hơn phòng 2 rồi bác

Step 2 là step so sánh đến nhân viên có mã số là 2 bạn nhỉ. Lúc đó thì làm sao phòng 1 lại có số lượng nhỏ hơn phòng 2 được nhỉ 🤔

Cả 3 phòng 1, 2, 3 đều khởi đầu với số lượng là 6. Và như ở phía trên thì bạn có ghi là

như với mã nhân viên 1 thì phòng 1,2,3 đều có, nên khi so thì sẽ chọn cái có số lượng nhỏ nhất, nếu bằng nhau thì giữ phòng đang đi so, ở ví dụ này thì phòng 2 và 3 sẽ bị trừ.

thì tức là sau Step 1, thì phòng 2 và 3 sẽ còn lại 5, và phòng 1 sẽ là 6, chứ nhỉ 🤔

0
Avatar
đã nhận xét cho câu hỏi
thg 11 9, 2020 3:16 SA

@thangtd90 ở step 2 số lượng phòng 2 đã nhỏ hơn phòng 1 rồi bác, đề bài là tìm ra nhân viên ở cùng nằm 2 phòng, thì ưu tiên phòng số lượng nhỏ nhất, tránh số liệu ảo, ví dụ tuy ông này được phân công làm ở 2 phòng, nhưng thời điểm hiện tại ông ấy ngồi ở 1 phòng thôi, phòng còn lại có ghế trống thì dựa vào code để hiển thị số lượng dư ghế cho người khác ấy bác

0

Đúng là gọn hơn thật nhưng phải đánh đổi là nếu muốn thêm/bớt component thì phải xoá ở 2 nơi.

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í