Kang_TJU的博客

潮平两岸阔,风正一帆悬

leetcode题目汇总

以下内容摘自[LeetCode-分类题解[全]. 同时,也记录自己的做题进展。数组[Remove Duplicates from Sorted Array] [Remove Duplicates from Sorted Array II] [Remove Element ] [Two Sum]...

2016-11-03 22:02:29

阅读数 1388

评论数 0

【推荐系统实践】读书笔记-第1章

本文按照书中的目录进行内容组织,对于个人认为比较重要的点,进行提炼梳理,方便自己加深印象。同时,也想借助的文章的分享出来,可供小伙伴们一同学习进步,也非常欢迎大佬拍砖指正。 什么是推荐系统 基本任务 关联用户和信息。一方面帮助用户发现对自己有价值的信息,一方面让信息展现在他感兴趣...

2018-12-06 15:04:23

阅读数 92

评论数 0

Accelerated-c++-置换索引

问题第五章练习题5-1. 设计和实现一个程序以产生一个置换索引。 在一个置换索引当中,每个短语都是以这个短语的每一个单词作为索引的(类似倒排,内容做索引)。因此,假如有如下的输入: The quick brown fox jumped over the fence 得到如下的输...

2017-12-02 21:33:06

阅读数 262

评论数 0

linux系统编程-一个demo

本目展示一个linux环境下系统编程的一个demo。主要是为了讲解项目下文件夹的布局以及makefile的写法。 程序的源代码来自于书籍《Accelerated c++》一书当中第四章的例子。布局一个基本的项目主要是以下5项构成: src:存放项目的源文件。目录可以细分。 inc:存放项目的头文...

2017-11-29 13:41:55

阅读数 263

评论数 0

python可视化-matplotlib学习2

本目承接该系列上一目,总结更多的我用到的的画图技巧。柱状图(横向)import matplotlib.pyplot as plt from matplotlib import cm import numpy as nplabel = ['a', 'b', 'c', 'd', 'e', 'f'] x...

2017-11-16 13:09:54

阅读数 264

评论数 0

作业部落markdown-demo

欢迎使用 Cmd Markdown 编辑阅读器我们理解您需要更便捷更高效的工具记录思想,整理笔记、知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 —— 我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown: 整理知识,学习笔记 ...

2017-11-03 13:22:27

阅读数 1101

评论数 0

leetcode-75-sort colors

问题题目:[leetcode-75-sort colors]思路以下思路参考[算法系列之十一荷兰国旗问题] 我们可以把数组分成三部分,前部(全部是0),中部(全部是1)和后部(全部是2)三个部分,每一个元素(红白蓝分别对应0、1、2)必属于其中之一。 将前部和后部各排在数组的前边和后...

2017-10-30 17:29:12

阅读数 232

评论数 0

leetcode-96-Unique Binary Search Trees

问题题目:[leetcode-96]思路catalan数。至于怎么分析的,参考自己的lintcode刷题里对这个题的解释。基本方法是固定根节点之后,剩下的N-1个节点,依次在左右两支展开。代码class Solution { public: int numTrees(int n) { ...

2017-10-25 22:58:21

阅读数 155

评论数 0

leetcode-698-Partition to K Equal Sum Subsets

问题题目:[leetcode-698]思路能想到的是搜索的思路,但是不知道怎么用。 参考了[698. Partition to K Equal Sum Subsets]看了别人的代码,知道这个题搜索的技巧在于,对于每一个元素nums[i],枚举每一个子数组的当前位置。这也是一种枚举策略。并且,这...

2017-10-24 21:37:07

阅读数 824

评论数 0

leetcode-416-Partition Equal Subset Sum

问题题目:[leetcode-416]思路先求和,如果不能被2整除。肯定不能二等分。 对于[1,3]来说,虽然和可以被二等分,但是显然的是,数组并不能二等分。 所以,问题转化为是否存在一个子数组,他的和为sum/2。 当然,这个题可以枚举所有的子数组,判断,只要有一个就可以。 还有一个办法...

2017-10-24 20:27:02

阅读数 149

评论数 0

leetcode-18-4Sum

问题题目:[leetcode-18]思路这个题还是和之前一样,多了一层循环。 排序之后的夹逼! 但是,要注意,夹逼在相等的情况下,i,j都要移动的。这点不要忘了。代码class Solution { public: vector<vector<int>> fou...

2017-09-29 23:00:58

阅读数 189

评论数 0

leetcode-16-3Sum Closest

问题题目:[leetcode-16]思路注意,夹逼的思路一定要注意,必须要排序!!!否则,就是错的。 夹逼其实也相当于某种程度的遍历,但是它的技巧性很强。关键就是在排序,最近收获的这个方法非常赞啊!引入一个new_diff保留最小差值即可。代码class Solution { public: ...

2017-09-29 22:46:44

阅读数 160

评论数 0

leetcode-15-3sum

问题题目:[leetcode-15]思路我之间用dfs做的。 但是,这次看到新的方法。算是两根指针夹逼的做法。 相等时的情形,处理比较重要。避免了o(n^3)。如果,i,j不动。就不行。代码class Solution { public: vector<vector<int...

2017-09-28 16:45:51

阅读数 149

评论数 0

leetcode-480-Sliding Window Median

问题题目:[leetcode-480]思路参考:[C++ two multiset solution] 代码思路非常的清晰。 不能继续使用priority_queue的原因是,删除操作不方便。 所以,改用multiset,优点是,插入删除都很块,并且有序。这样可以维护前半部分和后半部分,其实...

2017-09-25 16:18:04

阅读数 321

评论数 0

leetcode-295-Find Median from Data Stream

问题题目:[leetcode-295]思路基本思路就是将前半部分元素维护在大根堆当中。 后半部分元素维护在小根堆当中。但是要注意的是,大根堆和小根堆可以维护各自的有序性。但是,这两个部分的有序性需要在每次插入的时候特别判断以下。 每次,都进行维护。这样就不会出现某一次插入需要弹出很多元素的情形...

2017-09-25 15:09:26

阅读数 130

评论数 0

leetcode-4-Median of Two Sorted Arrays

问题题目:[leetcode-4-Median of Two Sorted Arrays]思路这个题目还是比较困哪的。 说一下基本的思路,这个题求两个有序数组的中位数。那么,我们给出一个更一般的办法,即求出两个有序数组的第k位数。 大致的思路是这样,各自考虑A[k/2-1]与B[k/2-1]。...

2017-09-25 14:30:26

阅读数 413

评论数 0

linux系统编程-epoll

本文对epoll的注意点做一个小结。接口epoll常见的接口有三个:1.创建epoll的实例,在内核中初始化相应的数据结构// 创建epoll instance // linux 2.6.8之后,size参数没有实际意义。但是,需要比0大 int epoll_create(int size);2....

2017-09-25 00:17:56

阅读数 216

评论数 0

leveldb-expand文档

leveldb-expand文档 作者:kang 邮箱:likang@tju.edu.cn 项目地址:[] 功能一(前缀匹配)1.接口设计virtual Status GetByPrefix( const ReadOptions& options, ...

2017-09-24 20:18:25

阅读数 206

评论数 0

leetcode-153-Find Minimum in Rotated Sorted Array

问题题目:[leetcode-153]思路如果没有旋转,直接返回。 如果,旋转,二分的思路。和之前方法一样,注意hign和low的更新方法。最后返回二者相邻是边界条件。 因为最小值肯定不存在有序区间当中。只能在非有序区间中寻找。代码class Solution { public: in...

2017-09-24 17:49:43

阅读数 389

评论数 0

vector实现

给出的实现,参照accelerated c++一书当中的内容。总结有几个点说一下啊: 1.注意三个指针的语义,data,avail,limit。增加limit之后,注意,修改avail的用法,尤其是迭代器那一块。 2.rule of three原则。 3.allocator的用法,alloc...

2017-09-19 10:43:37

阅读数 265

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭