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 描述 在一个平面上,如果有两个点( ...
随机推荐
- VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory.
macOS VirtualBox Bridged Adapter 不能用 I'm running macOS High Sierra 10.13.1 and VirtualBox 5.2.2. Thi ...
- css选择器 权重的叠加
- C#如何将光标定位到文本框末尾(最后一位)
代码如下:private void Movetoend(){//让文本框获取焦点this.TextBox1.Focus();//设置光标的位置到文本尾this.TextBox1.Select(this ...
- HTML多媒体
多媒体(一).插入音频.视频和flash在网页中插入音频.视频和flash都是使用embed标签. 语法: <embed src="多媒体文件地址" width=" ...
- python生成随机中文姓名和拼音
def sayhello(): print('hellopython') import pinyin import random def random_name(): # 删减部分,比较大众化姓氏 f ...
- python获取主机内网中所有MAC地址
import osimport subprocessimport socket"""python获取主机内网中所有MAC地址"""def g ...
- 在MyBatis-Plus整合dynamic-datasource @DS失效
因为是事务导致的 解决方案: 1.删除事务 2.使用分布式事务 3.修改事务的传播机制 3.使用DS的本地事务 @DSTransactional 但切记不可和Spring的事务共存 附传播机制 事务传 ...
- Swift中 堆(heap)和栈(stack)的区别
1.内存空间分为堆空间和栈空间 2.堆->引用类型(对象.函数.闭包) 栈->值类型(结构体.枚举.元组) 3.值类型赋值->深拷贝 引用类型赋值->浅拷贝 let a = ...
- Nmap常见命令
一测试环境 靶机:metasploitable2-linux [下载地址] IP:192.168.88.128 攻击机: kali IP :192.168.88..131 二 Nmap命令 ...
- MSSQL 查看数据库所有的触发器
SELECT object_name(a.parent_obj) as [表名] ,a.name as [触发器名称] ,(case when b.is_disabled=0 then '启用' el ...