hissteria
Công ty cũ e là công ty US, thuộc loại top paying trong ngành ở cả HN và SG. Tự nhiên hôm qua có bác hỏi đề phỏng vấn thuật toán làm e nhớ lại hồi phỏng vấn cty có vài câu post lên đây cho các bác chém cho vui.
Đây là các bài e đã gặp và ngồi phỏng vấn 1vs1 chứ không có máy. Cứ thế đã, từ từ em sẽ post tiếp. Bác nào có câu hỏi phỏng vấn thực tế xin mời |
Câu 1. Cho hàm "bool g();" xác suất trả về giá trị true là 1/2. Hãy viết hàm "bool f();" để xác suất trả về giá trị true là 3/4. (Yêu cầu không sử dụng các hàm sinh ngẫu nhiên rand()). |
hissteria
Công ty cũ e là công ty US, thuộc loại top paying trong ngành ở cả HN và SG. Tự nhiên hôm qua có bác hỏi đề phỏng vấn thuật toán làm e nhớ lại hồi phỏng vấn cty có vài câu post lên đây cho các bác chém cho vui.
Đây là các bài e đã gặp và ngồi phỏng vấn 1vs1 chứ không có máy. Cứ thế đã, từ từ em sẽ post tiếp. Bác nào có câu hỏi phỏng vấn thực tế xin mời |
bool not_g() { return !g(); } bool f() { return not_g() || not_g(); }
alohomora
hi vọng đúng
Code:
bool not_g() { return !g(); } bool f() { return not_g() || not_g(); } có 5 bi xanh và 6 bi đỏ, mỗi lần bốc ra 1 viên. Hỏi cần bốc ít nhất mấy lần để trên tay chắn chắn có 2 viên bi cùng màu. Hồi đấy tiếng Anh triệu trạo nên đek hiểu câu hỏi |
qkhanhpro
2, nếu không cần "chắc chắn", 3 nếu cần
|
talaai1312_ver6
3/4 = 1/2 + 1/4 => bool g() || (bool g() & bool g())
mà éo hiểu cái đề lắm, giải theo kiểu xác suất thống kê thôi |
alohomora
Hình như ông thớt mới sửa lại đề? Tôi nhớ lúc nãy hàm g() xác suất 3/4 cần viết hàm f() có xác suất 1/2 mà nhỉ?
|
hissteria
Đề lúc đầu là đúng nha bác. Em sửa lại cho rõ hơn thôi. Ah mà bác giải ko đúng
|
talaai1312_ver6
3/4 = 1/2 + 1/4 =>
bool g() || (bool g() & bool g())
mà éo hiểu cái đề lắm, giải theo kiểu xác suất thống kê thôi |
hissteria
Công ty cũ e là công ty US, thuộc loại top paying trong ngành ở cả HN và SG.
|
if (!bool g() || !bool g(){ return true; } |
teeeeeeeee
Em nghĩ thím này chuẩn này
|
luunn_54
Xác xuất mà bác cứ áp + với - vào, cái đó xác xuất sẽ là : 1/4 + 3/4 * 1/4
|
qkhanhpro
Các ông học XSTK kiểu gì mà
(!g) || (!g) => 1/4+ 1/4 = 1/2 Thế thì (!g) || (!g) || (!g) || (!g) = 1 = true à |
luunn_54
Xác xuất mà bác cứ áp + với - vào, cái đó xác xuất sẽ là : 1/4 + 3/4 * 1/4
Giống như 1 túi có 2 viên bi 1 trắng 1 xanh, mỗi lần bốc xác suất ra bi trắng là 1/2, vậy nếu theo như trên thì bốc 2 lần sẽ ra xác suất ra bi trắng là 1/2 + 1/2 = 100% sẽ bốc đc bi trắng sao ? |
hissteria
Công ty cũ e là công ty US, thuộc loại top paying trong ngành ở cả HN và SG. Tự nhiên hôm qua có bác hỏi đề phỏng vấn thuật toán làm e nhớ lại hồi phỏng vấn cty có vài câu post lên đây cho các bác chém cho vui.
Đây là các bài e đã gặp và ngồi phỏng vấn 1vs1 chứ không có máy. Cứ thế đã, từ từ em sẽ post tiếp. Bác nào có câu hỏi phỏng vấn thực tế xin mời |
teeeeeeeee
Nếu túi có hai viên thì bốc hai lần chắc chắn là ra bi trắng rồi thím
|
function g() { return Math.random() > 0.25 } function f() { while (true) { var y = g(); var z = g(); if (y ^ z) { // KQ khac nhau return y } } }
qkhanhpro
Các ông học XSTK kiểu gì mà
(!g) || (!g) => 1/4+ 1/4 = 1/2 Thế thì (!g) || (!g) || (!g) || (!g) = 1 = true à A = B = 0.25 A OR B = 0.4375 A AND B = 0.0625 |
Ress
nếu A và B xảy ra ko phụ thuộc vào nhau thì P(A or B) = P(A) + P(B)
còn nếu A và B loại trừ lẫn nhau thì mới ra cái kết quả của ông tính. mà ở bài toán này thì function g() được call 2 lần nên kết quả hoàn toàn độc lập |
luunn_54
Bốc xong bỏ lại vào túi mà bác (kq sau ko bị a/h bởi kq trước, g() lần sau ko liên quan tới lần gọi trước).
cái cách !g() || !g() của bác ở trên thì bác thử xem xác suất để ra false khi 2 lần g() đều phải ra true, tức là 3/4 * 3/4 = 9/16 |
chimlon008
sai rồi bác, độc lập xs thì P(A+B)=P(A)+P(B)−P(AB)
|
alohomora
đúng rồi, vẽ cây ra là thấy ngay. Cơ mà hồi đấy dốt tiếng Anh, hên sao vẫn được nhận
Hình như ông thớt mới sửa lại đề? Tôi nhớ lúc nãy hàm g() xác suất 3/4 cần viết hàm f() có xác suất 1/2 mà nhỉ? |
Strider
Mình phỏng vấn ở Spotify Sweden năm ngoái. Các bác xem thử.
|
alohomora
Hộ cái hình thôi, mấy bài hackerrank này không khoái lắm, đồ thị thì lại càng không
|
Strider
Mình phỏng vấn ở Spotify Sweden năm ngoái. Các bác xem thử.
|
Hannibal
Câu 3/4 1/2 đơn giản mà.
Gọi A và B là output của 2 lần gọi hàm f. P (A = True, B = False) = P (A = False, B = True) Hàm g: while (True) { A = f() B = f() if (A!=B) return A; } |
alohomora
Hộ cái hình thôi, mấy bài hackerrank này không khoái lắm, đồ thị thì lại càng không
|
_Gia_Cat_Luong_
Bài 1/2 3/4 đâu phức tạp vậy:
bool g() { return f() || f() } |
Hannibal
Câu 3/4 1/2 đơn giản mà.
Gọi A và B là output của 2 lần gọi hàm f. P (A = True, B = False) = P (A = False, B = True) Hàm g: while (True) { A = f() B = f() if (A!=B) return A; } |
namkep
Code:
function g() { return Math.random() > 0.25 } function f() { while (true) { var y = g(); var z = g(); if (y ^ z) { // KQ khac nhau return y } } } |
hissteria
Công ty cũ e là công ty US, thuộc loại top paying trong ngành ở cả HN và SG. Tự nhiên hôm qua có bác hỏi đề phỏng vấn thuật toán làm e nhớ lại hồi phỏng vấn cty có vài câu post lên đây cho các bác chém cho vui.
Đây là các bài e đã gặp và ngồi phỏng vấn 1vs1 chứ không có máy. Cứ thế đã, từ từ em sẽ post tiếp. Bác nào có câu hỏi phỏng vấn thực tế xin mời |
hissteria
2 bác namkep & Hanibal đúng rồi. Nếu các bác tự nghĩ ra cách giải thì khá đấy. Pass vòng 1 Câu này của ông người Tàu hỏi e, đúng là thâm
|
hungxiubk_ver2
Mấy bác thẩm hộ cái gạch cái tí nữa sửa indent |
Đây là các bài e đã gặp và ngồi phỏng vấn 1vs1 chứ không có máy.
Hãy viết hàm "bool f();" để xác suất trả về giá trị true là 1/2. (Yêu cầu không sử dụng các hàm sinh ngẫu nhiên rand()).