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] = '\0';
res.push_back(buffer);
}
}
}
}
return res;
}
};
栈
队列
堆
leedcode 刷题-V2的更多相关文章
- 剑指offer刷题
1.面试题43. 1-n整数中1出现的次数 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例如,输入12,1-12这些整数中包含1 的数字有1.10.11和12,1一共出现了5次 ...
- [BUUCTF-Pwn]刷题记录1
[BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...
- PTA刷题笔记
PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...
- LeetCode刷题系列
LeetCode 我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的.专业,覆盖语种全面. 提前说说刷题的心得: 尽量手写代码,少使用IDE的 ...
- ife任务刷题总结(一)-css reset与清除浮动
本文同时发布于本人的个人网站www.yaoxiaowen.com 百度创办的前端技术学院,是一个面向大学生的前端技术学习平台.虽然只有大学生才有资格报名,提交代码进行比赛排名.但是这并不妨碍我们这些初 ...
- 刷题ING...
我用codeVS刷题.. 努力准备!!
- XidianOJ 1020 ACMer去刷题吧
题目描述 刷题是每个ACMer必由之路,已知某oj上有n个题目,第i个题目小X能做对的概率为Pi(0<=Pi<=1,1<=i<=n) 求小X至少做对k道题的概率 输入 第一行输 ...
- 【BZOJ-4590】自动刷题机 二分 + 判定
4590: [Shoi2015]自动刷题机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 156 Solved: 63[Submit][Status ...
- NOI题库分治算法刷题记录
今天晚自习机房刷题,有一道题最终WA掉两组,极其不爽,晚上回家补完作业欣然搞定它,特意来写篇博文来记录下 (最想吐槽的是这个叫做分治的分类,里面的题目真的需要分治吗...) 先来说下分治法 分治法的设 ...
- NOI题库刷题日志 (贪心篇题解)
这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个平面上,如果有两个点( ...
随机推荐
- vue element 可编辑表格行内验证
<template> <div class="page-layout rataMdel"> <el-button type="primary ...
- object-fit: cover;
加上之后,改变宽高,图片还是原来的比例 没加上的话,改变宽高,图片会跟着伸缩变形.
- c语言 开灯问题 vs2019编译通过
1 #include<stdio.h> 2 #include<stdlib.h> 3 //开灯问题 4 //总共有n盏灯,编号为1~n,k个人 5 //第一个人摁下所有灯的开关 ...
- 删除File Explorer、This PC、Folders
win+R,输入regedit,打开Registry Editor 定位:Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentV ...
- python监控文件变化
网址: https://blog.csdn.net/qq_40223983/article/details/102889329 起步在python中文件监控主要有两个库,一个是pyinotify,一个 ...
- P1067 [NOIP2009 普及组] 多项式输出 题解
目录 题目 要注意的地方 code 题目 P1067 [NOIP2009 普及组] 多项式输出 要注意的地方 是不是常数项 是不是1 或 -1 输入的是不是第一个 ^1 负数 code #includ ...
- Java基础之类型转换
类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低 --------------------------------------------------------&g ...
- C++ 手动实现双向链表(作业版)
双向链表,并实现增删查改等功能 首先定义节点类,类成员包含当前节点的值, 指向下一个节点的指针和指向上一个节点的指针 //节点定义 template <typename T> class ...
- 046_salesforce 中 Get URL
Suppose u have the whole URL as: < https://cs14.salesforce.com/apex/myVFpage?id=906F00000008w9wIA ...
- 杭电OJ1029题C++实现
解题思路:因为要求的数出现的次数总是比其他数字出现的次数多1,所以若总是用相同的数去与其他的数相抵,那么最后只剩下一个,那就是要求的数. 另外需要注意的一点就是,最好不要去开长度为999999的数组, ...