• leedcode 刷题-V2


    leetcode

    字符串类

    数组类

    链表类

    树类

    二叉树类

    图类

    数学类

    数据结构类

    1. 稀疏相似度 (倒排索引) (https://leetcode-cn.com/problems/sparse-similarity-lcci/) 地址:https://leetcode-cn.com/problems/sparse-similarity-lcci/
    class Solution {
    public:
        vector<string> computeSimilarities(vector<vector<int>>& docs) {
            vector<string> res;
            unordered_map<int, vector<int> > elem2doc;
            for (size_t doc_id = 0; doc_id < docs.size(); ++doc_id) {
                for (size_t elem_id = 0; elem_id < docs[doc_id].size(); ++elem_id) {
                    elem2doc[docs[doc_id][elem_id]].push_back(doc_id);
                }
            }
            
            unordered_map<int, unordered_map<int, size_t> > doc2doc2freq;
            for (auto iter = elem2doc.begin(); iter != elem2doc.end(); ++iter) {
                for (size_t id = 0; id < iter->second.size(); ++id) {
                    for (size_t k = id+1; k < iter->second.size(); ++k) {
                        doc2doc2freq[iter->second[id]][iter->second[k]]++;
                    }
                }
            }
    
            for (auto iter = doc2doc2freq.begin(); iter != doc2doc2freq.end(); ++iter) {
                for (auto iter2 = iter->second.begin(); iter2 != iter->second.end(); ++iter2) {
                    double similarity = double(iter2->second) / double(docs[iter->first].size() + docs[iter2->first].size() - iter2->second);
                    if (similarity >= 0.000005f) {
                        char buffer[256];
                        int n = snprintf(buffer, 256, "%lu,%lu: %.4f", iter->first, iter2->first, similarity + 1e-9);
                        if (0 < n && n < 256) {
                            buffer[n] = '';
                            res.push_back(buffer);
                        }
                    }
                }
            }
            return res;
        }
    };
    

    队列

  • 相关阅读:
    [转载]网站运营粮草要先行
    微信公众平台开发(一) 配置接口
    UI框架说明
    布局
    DataGrid表格控件
    Dialog控件
    mysql出现 too many connections
    JVM调优案例
    ArrayBlockingQueue源码阅读
    jdk命令行工具
  • 原文地址:https://www.cnblogs.com/liyangguang1988/p/13414219.html
Copyright © 2020-2023  润新知