- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Thuật toán khớp danh sách có/muốn
Tôi đang triển khai hệ thống giao dịch phần tử trên một trang web có lưu lượng truy cập cao. Tôi có một số lượng lớn người dùng, mỗi người trong số họ duy trì một danh sách CÓ và một danh sách MUỐN cho một số dự án cụ thể. Tôi đang tìm kiếm một thuật toán cho phép tôi đề xuất các đối tác thương mại một cách hiệu quả dựa trên sự phù hợp CÓ và MUỐN của bạn với họ. Lý tưởng nhất là tôi muốn tìm đối tác có tiềm năng giao dịch lẫn nhau cao nhất (tức là tôi có rất nhiều thứ bạn muốn, bạn có rất nhiều thứ tôi muốn). Tôi không cần tìm cặp tiềm năng cao nhất toàn cầu (nghe có vẻ khó), chỉ cần tìm cặp tiềm năng cao nhất cho một người dùng nhất định (hoặc thậm chí chỉ一些cặp tiềm năng cao, thay vì cực đại toàn cầu).
例子:
Người dùng 1 CÓ A,C MUỐN B,DNgười dùng 2 CÓ MUỐN ANgười dùng 3 CÓ A,B,D MUỐN CNgười dùng 1 truy cập trang web và nhấp vào nút có nội dung "Tìm đối tác thương mại" và kết quả được xếp hạng cao nhất là Người dùng 3, theo sau là Người dùng 2.
Một nguồn phức tạp khác là các mặt hàng có giá trị khác nhau và tôi muốn khớp giao dịch có giá trị cao nhất có thể chứ không phải số lượng khớp tối đa giữa hai nhà giao dịch. Vì vậy, trong ví dụ trên, nếu tất cả các mục có giá trị là 1, nhưng cả A và D đều có giá trị là 10, thì Người dùng1 hiện khớp với Người dùng2 ở trên Người dùng3.
Cách đơn giản để thực hiện việc này là tính giá trị giao dịch tối đa giữa người dùng đang tìm kiếm đối tác và tất cả người dùng khác trong cơ sở dữ liệu. Tôi đang nghĩ đến một số bảng tra cứu về những việc cần làm, tôi có thể làm tốt hơn. Tôi đã thử tìm kiếm trên Google vì đây có vẻ là một vấn đề kinh điển nhưng tôi không biết tên của nó.
Bất cứ ai có thể đề nghị một giải pháp tốt cho vấn đề này? Tôi đã thấy các trang web như Magic Online Trading League dường như giải quyết được vấn đề này trong thời gian thực.
câu trả lời hay nhất
bạn có thể O(n*k^2)
Hoàn thành thao tác này trong (n là số người, k là số yếu tố trung bình họ có/muốn)Bằng cách giữ một bảng băm (hoặc, trong cơ sở dữ liệu, một chỉ mục) của tất cả những người có và muốn một phần tử nhất định, sau đó cho điểm cho tất cả những người có phần tử mà người dùng hiện tại muốn và muốn phần tử mà người dùng hiện tại người dùng có. Hiển thị 10 hoặc 20 điểm cao nhất.
[编辑]Ví dụ về cách triển khai điều này trong SQL:
-- Nhận điểm cho mong muốn của @userid
CHỌN UserHas.UserID, SUM(Items.Weight) NHƯ Điểm
TỪ Người dùng muốn
INNER THAM GIA UserHas ON UserWants.ItemID = UserHas.ItemID
INNER THAM GIA Các mục TRÊN Items.ItemID = UserWants.ItemID
Ở ĐÂU UserWants.UserID = @userid
NHÓM THEO UserWants.UserID, UserHas.UserID
Điều này sẽ cung cấp cho bạn danh sách những người dùng khác và điểm số của họ dựa trên các mục họ có mà người dùng hiện tại muốn. Làm tương tự với những món đồ mà người dùng hiện tại có mà người khác muốn, sau đó kết hợp chúng theo một cách nào đó(thêm phân số hoặc bất cứ điều gì bạn muốn)Và đạt top 10.
Về thuật toán - thuật toán khớp danh sách có/muốn, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/3391639/
Tôi đọc câu hỏi này trong một cuốn sách (Câu hỏi phỏng vấn) và muốn thảo luận chi tiết về nó ở đây. Hãy thắp sáng nó lên. Vấn đề như sau: - Quyền riêng tư và ẩn danh Ủy ban Bảo hiểm Tập đoàn Massachusetts đã có một ý tưởng tuyệt vời vào giữa những năm 1990
Gần đây tôi đã có một cuộc phỏng vấn trong đó người phỏng vấn đưa cho tôi một số mã giả và đặt câu hỏi về nó. Thật không may, do thiếu chuẩn bị nên tôi không thể trả lời câu hỏi của anh ấy. Do thời gian có hạn nên tôi không thể hỏi anh ấy cách giải quyết vấn đề này. Nếu ai đó có thể hướng dẫn tôi và giúp tôi hiểu vấn đề để tôi có thể thay đổi
Đây là mã của tôi public int getDist(Node root, int value) { if (root == null && value !=0) return
Xét về mặt hiệu quả, điểm giao nhau tối ưu mà thuật toán Strassen nên dừng đệ quy và áp dụng phép nhân là gì? Tôi biết điều này phụ thuộc rất nhiều vào việc triển khai và phần cứng, nhưng đối với trường hợp chung thì cần có một số loại hướng dẫn hoặc một số kết quả thử nghiệm từ ai đó. Tôi đã tìm kiếm trực tuyến và hỏi một số người xem họ nghĩ gì
Tôi muốn tìm hiểu điều gì đó về thuật toán phân tán nên tôi đang tìm kiếm bất kỳ đề xuất sách nào. Tôi sẽ quan tâm hơn đến một cuốn sách lý thuyết, vì việc thực hiện chỉ là vấn đề sở thích cá nhân (tôi có thể sử dụng erlang (hoặc c#)). Nhưng mặt khác, tôi không muốn thực hiện phân tích toán học nguyên thủy về thuật toán. chỉ một
Tôi tự hỏi có bao nhiêu người trong số các bạn đã triển khai "thuật toán cổ điển" từ khoa học máy tính, chẳng hạn như thuật toán của Dijkstra hoặc các cấu trúc dữ liệu trong thế giới thực như cây tìm kiếm nhị phân, trái ngược với các dự án học thuật? Khi có
Tôi đang giải một số bài toán mẫu từ một cuộc thi lập trình cũ. Trong câu hỏi này, chúng tôi nhận được thông tin về số lượng nhân viên pha chế mà chúng tôi có và công thức nấu ăn mà họ biết. Mỗi loại cocktail mất 1 phút để pha và chúng tôi cần sử dụng tất cả nhân viên pha chế để tính toán xem đơn hàng có thể hoàn thành trong 5 phút hay không. gỡ rối
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
Tôi bắt đầu học Nodejs nhưng tôi bị mắc kẹt ở đâu đó giữa chừng. Tôi đã cài đặt một thư viện mới từ npm là express -jwt và nó hiển thị một số loại lỗi sau khi chạy nó. Mã đính kèm và nhật ký lỗi, vui lòng giúp tôi const jwt = re!
Tôi có chứng chỉ trong đó thuật toán chữ ký cho biết "sha256rsa" nhưng thuật toán dấu vân tay cho biết "sha1". Mã định danh SHA1/SHA2 của chứng chỉ của tôi là gì? Cảm ơn! Câu trả lời hay nhất TL;TR: Chữ ký và dấu vân tay là những thứ hoàn toàn khác nhau. Vì sức mạnh của chứng chỉ
Tôi hiện đang tham gia lớp cấu trúc dữ liệu tại trường đại học của mình và đã thực hiện một số phân tích thuật toán trong các lớp trước, nhưng đây là phần khó nhất mà tôi gặp phải trong các lớp trước. Bây giờ chúng ta sẽ tìm hiểu về phân tích thuật toán trong lớp cấu trúc dữ liệu của tôi
Có một khu vực bao gồm N hình vuông 1x1 và tất cả các phần của khu vực này đều được kết nối với nhau (không có hình vuông nào là không thể tiếp cận được). Dưới đây là một số ví dụ về các khu vực. Tôi muốn chọn một số ô vuông trong khu vực này và không thể chọn hai ô vuông liền kề cùng nhau (chạm theo đường chéo
Tôi có một số danh sách các điểm có hình đa giác mà tôi muốn đưa vào bản đồ Google trên trang của mình. Tôi đã loại bỏ càng nhiều đa giác không cần thiết khỏi dữ liệu thô càng tốt, bây giờ tôi chỉ còn lại khoảng 12 đa giác, nhưng chúng quá chi tiết nên đang gây ra sự cố. Bây giờ văn bản của tôi
Tôi hiện đang triển khai Hình vuông diễu hành để tính toán các đường cong đồng mức và tôi có câu hỏi về việc sử dụng dịch chuyển bit được đề cập ở đây Soạn 4 bit ở các góc của ô để
Tôi đang cố gắng triển khai hàm quay lui đệ quy này cho vấn đề thỏa mãn ràng buộc đối với một thuật toán nhất định: hàm BACKTRACKING-SEARCH(csp) trả về giải pháp/lỗi trả về R
Có thư viện nào chứa hàm nghịch đảo không? Là một phần của dự án, tôi hiện đang nghiên cứu thuật toán tìm hướng. Tôi đang sử dụng tương quan Bartlett. Trong tương quan Bartlett, tôi cần chia tử số đã là 3 phép nhân ma trận (bao gồm cả phép chuyển vị Hermiti)
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Sự cố này dường như không liên quan đến việc lập trình trong phạm vi được xác định trong trung tâm trợ giúp. . Đã đóng cửa 8 năm trước. Cải thiện
Liên kết đến câu hỏi là UVA - 1394: And There Was One . Thuật toán đơn giản là quét toàn bộ mảng và đánh dấu phần tử thứ k trong mỗi lần lặp và dừng ở cuối: việc này mất O(n^2) thời gian. Tôi đã tìm kiếm một thuật toán thay thế và
Hàm trong COM tạo GUID (CoCreateGUID) sử dụng "thuật toán tính duy nhất phân tán", nhưng câu hỏi của tôi là, nó là gì? Có ai có thể giải thích được không? Câu trả lời hay nhất Cách tạo ID với sự đảm bảo về tính duy nhất mà không cần
Tôi đã gặp phải vấn đề này khi đang thực hiện một dự án và tôi sẽ diễn đạt lại nó bên ngoài phạm vi thực tế của câu hỏi (tôi đoán tôi có thể nói về tầm cỡ và hình dạng của pháo hoa, nhưng điều đó sẽ khiến việc hiểu trở nên phức tạp hơn). Tôi đang tìm một thuật toán (Có thể gần đúng) để giải nó. Tôi có n thùng chứa có kích cỡ khác nhau,
Tôi là một lập trình viên xuất sắc, rất giỏi!