自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (4)
  • 问答 (88)
  • 收藏
  • 关注

原创 leecode 解题总结:23 Merge k Sorted Lists

#include #include #include using namespace std;/*问题:Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.分析:归并k个排序链表。这个怎么看上去像败者树。暴力破解:假设每个链表长度为n

2017-01-31 23:08:02 381

原创 leecode 解题总结:22. Generate Parentheses

#include #include #include #include using namespace std;/*问题:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3,

2017-01-31 21:41:03 243

原创 leecode 解题总结:21. Merge Two Sorted Lists

#include #include #include using namespace std;/*问题:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists

2017-01-31 18:40:40 228

原创 leecode 解题总结:20. Valid Parentheses

#include #include #include #include using namespace std;/*问题:Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.The bracket

2017-01-31 16:24:48 338

原创 leecode 解题总结:19 Remove Nth Node From End of List

#include #include using namespace std;/*问题:Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. A

2017-01-31 12:25:42 230

原创 leecode 解题总结:18 4Sum

#include #include #include #include #include using namespace std;/*问题:Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique

2017-01-31 10:34:25 301

原创 leecode 解题总结:17. Letter Combinations of a Phone Number

#include #include #include #include #include #include using namespace std;/*问题:Given a digit string, return all possible letter combinations that the number could represent.A mapping of dig

2017-01-30 15:09:28 243

原创 leecode 解题总结:16 3Sum Closest

#include #include #include #include #include using namespace std;/*问题:Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return t

2017-01-30 13:22:37 286

原创 leecode 解题总结:15 3Sum

#include #include #include #include #include #include #include using namespace std;/*问题:Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all uni

2017-01-30 12:32:28 419

原创 编程珠玑:第10章 节省空间 10.1 稀疏矩阵表示 ---- 解题总结

#include #include #include #include using namespace std;/*问题:在地理数据库中存储邻居的系统。共有两千个邻居,编号范围是0~1999,每个邻居在地图张用一个点来描述。 系统允许用户通过触摸输入板的方式访问其中任意一点。程序将选定的物理位置转换为0~199范围内的一对整数 x和y,然后使用(x,y)对支出用户选中了“2000

2017-01-26 00:58:23 658

原创 编程珠玑:第11章 排序 11.1 插入排序

#include #include #include using namespace std;/*问题:插入排序。分析 :插入排序的本质是:对于当前元素,从当前元素前面已经排好序的序列寻找出一个元素大于当前元素。然后将这两个元素交换最容易混淆的两个排序:选择排序,前面序列A[1..i-1]有序,当前第i个元素是后面序列A[i....n]中挑选的最小的元素组成,然后与A[i]元素交

2017-01-25 12:38:06 323

原创 编程珠玑: 12章 取样问题 12.3设计空间,程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。 解法2-------解题总结

#include #include #include #include using namespace std;/*问题:程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。从概率的角度说,我们希望得到没有重复的有序选择,其中 每个选择出现的概率相等。分析:可以先把包含0~n-1的数组前面m个数打乱,然后对前面m个数进行排序即

2017-01-25 10:34:25 550

原创 编程珠玑: 12章 取样问题 12.3设计空间,程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。 -------解题总结

#include #include #include #include #include using namespace std;/*问题:程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。从概率的角度说,我们希望得到没有重复的有序选择,其中 每个选择出现的概率相等。分析:方法1:从剩余r个数中选择s个数的概率为s/r,该

2017-01-25 10:19:40 529

原创 编程珠玑: 12章 取样问题 12.1程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。 优化解法-------解题总结

#include #include #include #include using namespace std;/*问题:程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。从概率的角度说,我们希望得到没有重复的有序选择,其中 每个选择出现的概率相等。分析:从剩余r个数中选择s个数的概率为s/r。 举例:假设m=2

2017-01-25 09:55:00 860 1

原创 编程珠玑: 12章 取样问题 12.1程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复-------解题总结

#include #include #include #include using namespace std;/*问题:程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。从概率的角度说,我们希望得到没有重复的有序选择,其中 每个选择出现的概率相等。分析:这个感觉是蓄水池抽样问题。先设置0~m-1为前m个随机整数,然后对于i

2017-01-25 09:22:43 539

原创 编程珠玑: 13章 搜索 13.4使用整数结构,生成[0 ,maxval]范围内m各随机整数的有序序列 -------解题总结

#include #include using namespace std;/*问题:使用箱子和链表,生成[0 ,maxval]范围内m各随机整数的有序序列分析:采用比如4个相似,将元素划分到每个箱子中,每个箱子内部用链表表示。 等同于是对链表的优化输入: 100(元素最大值) 10(输出的元素个数) 输出; 输出10个0~100且有序的元素 关键:1 采用比如4

2017-01-24 09:47:33 336

原创 编程珠玑: 13章 搜索 13.2使用链表结构,生成[0 ,maxval]范围内m各随机整数的有序序列 -------解题总结

#include #include using namespace std;/*问题:使用链表,生成[0 ,maxval]范围内m各随机整数的有序序列分析:这是典型的插入排序。每次将一个带插入的元素插入到前面已经排好序的结果中。 1】先查找到待插入位置,2】修改结点指针指向输入: 100(元素最大值) 10(输出的元素个数) 输出; 输出10个0~100且有序的元

2017-01-24 06:50:34 340

原创 编程珠玑: 13章 搜索 13.2使用线性结构,生成[0 ,maxval]范围内m各随机整数的有序序列 -------解题总结

#include #include using namespace std;/*问题:使用数组,生成[0 ,maxval]范围内m各随机整数的有序序列分析:这是典型的插入排序。每次将一个带插入的元素插入到前面已经排好序的结果中。 1】先查找到待插入位置,2】强待插入位置及其后面元素同一向后移动,然后在待插入位置上插入元素输入: 100(元素最大值) 10(输出的元素个

2017-01-23 14:27:22 381

原创 编程珠玑: 13章 搜索 13.1生成[0 ,maxval]范围内m各随机整数的有序序列 -------解题总结

#include #include #include using namespace std;/*问题:生成[0 ,maxval]范围内m各随机整数的有序序列分析:用一个set来确保不重复,用一个随机函数来确保得到指定范围内的随机数输入:100(元素最大值) 10(输出的元素个数)输出;输出10个0~100且有序的元素关键:1实现一个集合set,包含插入,有序输出到数

2017-01-22 18:37:15 385

原创 编程珠玑: 14章 堆 14.2实现一个优先级队列,返回数组中最小值 -------解题总结

#include #include #include using namespace std;/*问题:实现一个优先级队列,支持插入元素和返回最小元素操作分析:优先级队列保证插入和返回最小值元素的时间复杂度都是O(logN),假设有n个元素,每个元素插入在堆中的时间复杂度为O(logN) 所以堆排序的总时间复杂度为O(NlogN)优先级队列:说白了就是小顶堆的变体。

2017-01-22 18:00:25 675

原创 编程珠玑: 14章 堆 14.1实现一个堆,对数组排序 -------解题总结

#include #include #include using namespace std;/*问题:实现一个堆排序分析:堆,用数组表示的话:设数组x[1..n],则有根节点为x[1],孩子结点下标为2*i,2*i+1,父节点下标为i/2,大顶堆:任何结点的值>=其父节点的值采用小顶堆排序的步骤:1 步骤1:设置第一个元素为根节点,后续插入的结点放在已有结点后面,采用向上调

2017-01-22 17:15:54 357

原创 编程珠玑: 15章 字符串 15.2寻找字符串中的最长重复子串 -------解题总结

#include #include #include #include //qsortusing namespace std;/*问题:给定一个文本文件作为输入,查找其中最长的重复子字符串。例如,“Ask not what your country can do for you, but what you can do for your country”中 最长的重复字符串是"ca

2017-01-21 21:09:32 1852

原创 编程珠玑: 15.1实现一个哈希表统计字符串出现次数 -------解题总结

#include #include #include #include using namespace std;/*问题:统计书中的单词及出现次数,实现一个数据结构进行存储分析:典型的信息检索中的倒排索引问题。可以采用链表数组实现: 哈希 + 拉链法 一种做法是:根据给定的单词个数n,选取最接近n的质数k,然后对字符串进行散列, h = 31 * h + char

2017-01-21 19:11:36 1401

原创 程序员面试金典——解题总结: 9.16线程与锁 16.1问题:线程和进程有什么区别?

问题:线程和进程有什么区别?分析:相同点:两者都拥有资源不同点:线程:有自己的独立栈空间,常用于执行周期性任务,扫描任务等进程:同一进程内部可以共享变量。不同进程之间往往进行通信。关键:1进程:程序运行的实例,分配了系统资源,在自己的独立空间执行,不同进程间访问变量需要通过套接字,管道,文件来进行通信线程:线程存在于进程中,多个线程可同时存在于一个进

2017-01-21 15:07:13 398

原创 程序员面试金典——解题总结: 9.18高难度题 18.11给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出四条边都是黑色像素的最大子方阵。

#include #include using namespace std;/*问题:给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出四条边都是黑色像素的最大子方阵。分析:暴力破解:考虑到方阵的组成只需要确定左上角坐标(x1,y1)和右下角坐标(x2,y2),因此可以通过一个四重循环来遍历生成: x1,y1,x2,y2,对于得到的坐标,还需

2017-01-21 14:01:23 527

原创 程序员面试金典——解题总结: 9.18高难度题 18.13给定一份几百万个单词的清单,设计一个算法,创建由字母组成的最大矩形

#include #include #include #include #include #include #include #include using namespace std;/*问题:给定一份几百万个单词的清单,设计一个算法,创建由字母组成的最大矩形,其中每一行组成一个单词(自左向右),每一列也组成一个单词(自上而下)。 不要求这些单词在清单里连续出现,但

2017-01-20 22:53:30 684

原创 程序员面试金典——解题总结: 9.18高难度题 18.12给定一个正整数和负整数组成的N*M矩阵,编写代码找出元素总和最大的子矩阵。

#include #include using namespace std;/*问题:给定一个正整数和负整数组成的N*M矩阵,编写代码找出元素总和最大的子矩阵。分析:暴力破解:遍历所有子矩阵耗时O(N^4),对每个子矩阵求和耗时O(N^2),总共耗时O(N^6) 动态规划:可以使得对子矩阵求和的时间复杂度降至O(1)。 |A B| 假设左边为矩阵,那么area(

2017-01-20 18:23:56 1318

原创 程序员面试金典——解题总结: 9.18高难度题 18.10给定两个字典里的单词,长度相等。编写一个方法,将一个单词变换成另一个单词,一次只改动一个字母。

#include #include #include #include #include #include #include #include #include #include using namespace std;/*问题:给定两个字典里的单词,长度相等。编写一个方法,将一个单词变换成另一个单词,一次只改动一个字母。 在变换过程中,每一步得到的新单词都必须

2017-01-20 16:46:52 919

原创 程序员面试金典——解题总结: 9.18高难度题 18.9随机生成一些数字并传入某个方法。编写一个程序,每当收到新数字时,找出并记录中位数。

#include #include #include #include #include using namespace std;/*问题:随机生成一些数字并传入某个方法。编写一个程序,每当收到新数字时,找出并记录中位数。分析:题目的意思应该是:根据随机生成了k个数字之后,接下来每次再收到新数字时,找到中位数。 简化问题:寻找中位数,什么是中位数?就是数组A排序之后,

2017-01-20 15:29:25 267

原创 程序员面试金典——解题总结: 9.18高难度题 18.8给定一个字符串s和一个包含较短字符串的数组T,设计一个方法,根据T中的每一个较短字符串,对s进行搜索

#include #include #include #include #include using namespace std;/*问题:给定一个字符串s和一个包含较短字符串的数组T,设计一个方法,根据T中的每一个较短字符串,对s进行搜索分析:没明白什么意思,什么叫从数组中取出每个字符串,然后再另一个字符串中搜索。首先实现后缀树。后缀树含义:树中的每个顺着某个结点往下的结

2017-01-20 01:44:27 852

原创 程序员面试金典——解题总结: 9.18高难度题 18.8---拓展: 实现一个Trie树

#include #include #include #include using namespace std;/*问题:请实现一个trie树,并执行查找。首先实现trie树:trie树,本质上是一颗多叉树,每个结点是一个字符,如果在某个结点处对应的标记说从根节点到当前结点组成的内容是一个字符串, 就表明找到了一个字符串。本质是将一个字符串的各个字符

2017-01-19 19:02:04 360

原创 程序员面试金典——解题总结: 9.18高难度题 18.7给定一组单词,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。

#include #include #include #include #include #include #include #include #include using namespace std;/*问题:给定一组单词,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。分析:也就是说产生的最长单词是组合产生的,不妨设单词数组为A,有n个单词,

2017-01-19 15:51:21 1755

原创 程序员面试金典——解题总结: 9.18高难度题 18.6设计一个算法,给定10亿数字,找出最小的100万个数字。假定计算机内存足以容纳全部10亿个数字。

#include #include #include using namespace std;/*问题:设计一个算法,给定10亿数字,找出最小的100万个数字。假定计算机内存足以容纳全部10亿个数字。分析:看到大数据要想到:1)分组,2)位图,3)批处理。 足以容纳说明可以一次性放入,那么问题就变成了从n个数字中寻找最小的k个数。 那么这个问题可以用划分来做。或者线

2017-01-18 23:23:22 534

原创 程序员面试金典——解题总结: 9.18高难度题 18.5有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离

#include #include #include #include #include using namespace std;/*问题:有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离(也即相隔几个单词)。有办法在O(1)时间里完成搜索操作吗? 解法的空间复杂度如何?分析:这个是编程之美的最短摘要算法。简单的例子: 假设

2017-01-18 19:24:16 3049

原创 程序员面试金典——解题总结: 9.18高难度题 18.4编写一个方法,数出0到n(含)中数字2出现了几次

#include #include using namespace std;/*问题:编写一个方法,数出0到n(含)中数字2出现了几次分析:剑指offer中,题目是数出0到n中数字1出现了几次。应该是同一个类型 记得当时是用递归做的。 暴力破解:就是遍历0到n,对每个数字i,获取其每一位上的值,统计是否含有2,假设平均每个数字有k位,时间复杂度就是O(n*k)。

2017-01-18 17:41:50 1103

原创 程序员面试金典——解题总结: 9.18高难度题 18.3编写一个方法,从大小为n的数组中随机选出m个整数。要求每个元素被选中的概率相同。

#include #include #include using namespace std;/*问题:编写一个方法,从大小为n的数组中随机选出m个整数。要求每个元素被选中的概率相同。分析:选择。第一想到的是线性选择和划分。如果用快排中的划分,每次可以选择出一个数, 重复m次,即可。但是不知道是否每个元素被选中的概率相同。书上解法:蓄水池抽样问题。算法思想: 步骤1

2017-01-18 14:44:21 2294

原创 程序员面试金典——解题总结: 9.18高难度题 18.2编写一个方法,洗一副牌。要求做到完美洗牌,换言之,这副牌52!种排列组合出现的概率相同

#include #include #include #include using namespace std;/*问题:编写一个方法,洗一副牌。要求做到完美洗牌,换言之,这副牌52!种排列组合出现的概率相同。假设给定一个完美的 随机数发生器。分析:之前的洗牌方式是,遍历52张牌,对当前牌i,获取1到52中的随机数index,将牌i和牌index进行调换。 这

2017-01-18 00:10:34 449

原创 程序员面试金典——解题总结: 9.18高难度题 18.1编写一个函数,将两个数字相加。不得使用+或其他算术运算符。

#include #include using namespace std;/*问题:编写一个函数,将两个数字相加。不得使用+或其他算术运算符。分析:既然不能使用+,应该就是位运算了。 可以将两个数字每次向右移动,每次将移动后的最低位进行与操作,若与操作结果为1,说明这两个数最后的都为1就进位,直到两个数都变成0 假设: 3 + 10 3对应: 00011

2017-01-17 22:16:27 1841

原创 程序员面试金典——解题总结: 9.17中等难题 17.14句子分割

#include #include #include #include #include #include #include #include using namespace std;/*问题:你写了一篇长文,却误用“查找/替换”,不慎删除了文档中所有空格、 标点,大写变成小写。比如,句子"I reset the computer, It still didn'

2017-01-17 19:52:04 346

原创 程序员面试金典——解题总结: 9.17中等难题 17.13将二叉查找树转换为双向链表

#include #include #include #include using namespace std;/*问题:有个简单的类似结点的数据结构BiNode,包含两个指向其他结点的指针。数据结构BiNode可以用来表示二叉树(其中node1为左子结点,node2为右子节点) 或双向链表(其中node1表示前驱结点,node2位后继结点)。编写一个方法,将二叉查找树

2017-01-17 16:30:09 263

微软面试100题系列by_July

微软等公司面试100题系列,涵盖数据结构、算法、海量数据处理等3大主题,分为原题集锦,答案下载,帖子维护,是编程初学者,与程序员面试找工作的必备材料。

2014-07-29

Eff_STL中文版

写C++的书很多,effective C++等。但是一般对STL没什么深入介绍。 这本书弥补了空白。如看过之后对STL的理解将更深入一步。

2014-07-29

超越c++标准库——boost程序库导论

《Boost程序库探秘:深度解析C++准标准库》深入探讨了其中的许多重要组件,包括迭代器、函数对象、容器、流处理、序列化以及C++语言中最复杂最具威力的模板元编程。

2014-07-29

grafana如何接入gnocchi数据

2017-05-27

配置gnocchi作为Grafana数据源报错

2017-05-18

devstack报错generate-subunit fail

2017-05-08

请教各位朋友cv2的python版本中imwrite无法生成带有中文路径的图片?

2016-06-07

关于Linux的sed命令在行首添加空格的问题?

2016-05-22

Linux:使用sed命令替换时,如何在前面添加四个空格呢

2016-05-22

各位朋友好,请教sed查询到“[client]”这一行后,在这一行下面追加一行新的内容

2016-05-22

各位朋友好,请教ubuntu系统python3.4环境下安装matplotlib报错的解决办法

2016-05-20

请教各位大神,如何用python提取出两幅图像中不同的部分?

2015-12-28

请教朋友们,python中numpy.min(dataset[:,j]) 这句话是什么意思?

2015-12-26

请教各位大神,AutoHotkey如何实现二维数组?

2015-11-29

请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)?

2015-11-25

请教各位大神,为什么django下载的zip压缩包文件名中包含中文的就乱码啊?

2015-10-28

请教各位朋友们,为什么html中的video标签不能播放时长大于5s的视频?

2015-10-25

请教朋友们,python3.4如何安装相对应的第三方库

2015-10-08

请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError

2015-10-08

请教朋友们,django动态改变ImageField,FileField的upload_to

2015-10-07

django如何在用户登录后返回到原来来页面,并保持登陆状态

2015-09-28

django如何将mysql中表的内容通过models.py在网页端显示

2015-09-18

python+django能够同时使用mongodb和mysql两种数据库引擎吗?

2015-09-17

django实现**.zip包下载报错内存使用过大

2015-08-03

无法访问部署在mac服务器到虚拟机Ubuntu端口映射做成的服务器上的网站

2015-07-25

xshell无法通过外网连接VBox中的虚拟机

2015-07-23

苹果笔记本主机如何将文件传送到virtual box中安装的ubuntu虚拟机中

2015-07-22

在ubuntu环境下执行python程序,报错 segment error

2015-07-18

django取出pymongo中存储的中文图片路径后,读取该路径在网页上展示没有出现图片

2015-07-16

读取python遍历中文目录得到的文件路径报错

2015-07-10

python中的os.walk函数为什么遍历带有中文的路径时就失败?

2015-07-09

pynlpir在ubuntu下为什么不能对带有中文路径的文件分词

2015-06-22

struts中的gdc:defineCollection这句话是什么意思

2015-05-13

struts下的jsp文件中html:select 下的各个属性有哪些

2015-05-12

html视频播放进度条上如何加入点号,并且鼠标移动到点号上显示关键帧图片

2015-05-04

如何在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字

2015-05-03

ffmpeg提取视频中的帧保存为图片的序号如何从0开始

2015-04-30

ffmpeg 截取图片的时间对应于原来视频中的时间点如何获取

2015-04-30

ubuntu环境下使用ffmpeg获取视频总时间的命令该怎么写?

2015-04-30

如何在python中调用ffmpeg的命令行语句

2015-04-30

ffmpeg -vf中的命令参数-vf是什么意思

2015-04-30

use pyffmpeg install on win7,but has errors

2015-04-29

python中unicode对象与str对象中汉字的长度不同这是为什么

2015-04-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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