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 描述 在一个平面上,如果有两个点( ...
随机推荐
- docker镜像的获取、查看、删除、docker镜像管理、docker容器管理
在不想弄乱本地及其环境下该如何进行系软件的安装? 下载安装docker工具 获取该软件的docker镜像(你以后想要用各种工具,基本都能够搜索docker search nginx:版本号到合适的镜像 ...
- 火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!
2022年卡塔尔世界杯的吉祥物最近在全球火出圈了,并且喜提中国网友给予的爱称"饺子皮"."馄饨皮"(官方名字:拉伊卜,意为"技艺高超的球员" ...
- 我和Java这些年的故事(六)
从2006年开始,我就在建设自己的网站,从2008年到2011年,我托管了四年自己的服务器,那时阿里云还没有兴起,只能自己买服务器,放到托管商机房里去,他们给你一个IP.机器全部是自己运维. IBM内 ...
- C# Visual Studio等,学习地址
Visual Studio 2022 学习地址 Visual Studio系列学习地址 Csharp11 学习地址 Csharp 学习地址 W3School公营,推广技术,免费学习 W3CSchool ...
- httpcanary高级版--不闪退!!!!
地址 https://wwm.lanzouw.com/iOf7Hz11s4j 密码:45of
- 虚拟机重置root用户密码
虚拟机root用户重置密码 在打开虚拟机 在出现下图界面的时候按 e 进入管理界面 e要快速按 不然就会直接进入虚拟机 然后找到 UTF-8 在后面添加 rd.break 输入完后按 Ctrl+x 跳 ...
- 当FTP不能满足大文件、海量文件传输时,有没有好的替代方案?
很多企业存在大文件.海量文件的传输需求,如涉及到图像数据采集和回传.海量用户数据收集和同步等业务,一般情况,企业还是会采用传统的FTP传输,或者以此为基础,使用脚本或结合其他办公工具来解决传输需求. ...
- keil 常用调试方法
1.内存调试方法, 参考链接: https://blog.51cto.com/u_4029519/5423341 2.汇编调试方法 常用到bootlader和应用程序的调试 1.生成bin文件.汇编文 ...
- [CSS]使用JS改变元素位置,操作css比较困难时,可更换元素的类名
本人大菜鸟一枚,以此作为记录. 使用到技术栈jQuery. 开发中遇到某个元素需要在页面上切换 left: 0px 为 right: 0px 的需求,直接操作css会导致同时存在left和right属 ...
- JMeter基础 — JMeter聚合报告详解
提示:聚合报告组件的使用和察看结果树组件的使用方式相同.本篇文章主要是详细的介绍一下聚合报告组件内容,不做示例演示. 1.聚合报告介绍 在使用JMeter进行性能测试时,聚合报告(Aggregate ...