Leetcode题解(十五)
摘要:42、Trapping Rain Water题目这道题目参考http://www.cnblogs.com/felixfang/p/3713197.html观察下就可以发现被水填满后的形状是先升后降的塔形,因此,先遍历一遍找到塔顶,然后分别从两边开始,往塔顶所在位置遍历,水位只会增高不会减小,且一直和...
阅读全文
Leetcode题解(十四)
摘要:39、Combination Sum题目题目要求找出和为target的数字组合,并且每个整数可以多次使用。仔细思考可以发现,这道题目可以采用递归的方法来完成,比如举的例子,target=7,一开始可以选中2,并且2> combinationSum(vector& candidates, int ta...
阅读全文
Leetcode题解(十三)
摘要:36、Valid Sudoku题目代码如下: 1 class Solution { 2 public: 3 bool isValidSudoku(vector > &board) { 4 // Note: The Solution object is instantiated...
阅读全文
Leetcode题解(十二)
摘要:33、Search in Rotated Sorted Array题目这道题目如果没有其他要求,直接遍历一遍就可以知道答案,但是,题目给出了是排序了数组,但是数组有可能经过了旋转得到,其解题思路仍然是二分查找,只不过在处理的时候需要添加一下逻辑处理;在做逻辑判断的时候,主要判断的是target可能位...
阅读全文
Leetcode题解(十一)
摘要:31、Next Permutation题目这道题目的意思是给定一个序列,找出其按照字典顺序的下一个顺序,如果给定顺序是字典中的最后一个顺序,其下一个顺序则为字典中的第一个顺序。比如:1,2,3,4,5-----注,后面的顺序去掉逗号123541243512453125341254313245通过上面...
阅读全文
Leetcode题解(十)
摘要:29、Divide Two Integers题目题目要求不用乘除和取模运算,实现两个整数相除;我的第一想法就是把除法变成减法来做,这也是最初除法的定义,其实现代码如下: 1 class Solution { 2 public: 3 int divide(int dividend, int d...
阅读全文
Leetcode题解(九)
摘要:28、Implement strStr()-------KMP算法(*)题目这道题目其实就是实现KMP算法,并且该算法也是比较经典的算法,需要很好的掌握:贴上几个介绍字符串匹配的算法说明链接http://www.cnblogs.com/Su-30MKK/archive/2012/09/17/2688...
阅读全文
Leetcode题解(八)
摘要:26、Remove Duplicates from Sorted Array题目直接上代码,方法很简单:class Solution {public: int removeDuplicates(vector& nums) { const int size = nums.size(...
阅读全文
Leetcode题解(七)
摘要:24、Swap Nodes in Pairs题目看到此题,第一想法是利用两个指针,分别将其所指向的节点的value交换。然后同时向后移动2个节点,代码如下: 1 struct ListNode { 2 int val; 3 ListNode *next; 4 Li...
阅读全文
Leetcode题解(六)
摘要:21、Merge Two Sorted Lists题目直接上代码:class Solution {public: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { ListNode *helper=new ListNode...
阅读全文
Leetcode题解(五)
摘要:17、Letter Combinations of a Phone Number题目针对输入的数字串,每一个数字都对应对个字符可以选择。因此可以直接采用递归的思想,依次遍历数字串的每一个数字,处理到当前数字时,余下的数字可以看出一个规模更小的子串来处理,这正符合递归的思想,将问题逐步化小。代码如下:...
阅读全文
Leetcode题解(四)
摘要:12/13、Integer to Roman/RomantoInteger题目罗马数字规则:符号IVXLCDM数字1510501005001000代码如下: 1 class Solution { 2 public: 3 string intToRoman(int num) { 4 ...
阅读全文
Leetcode题解(三)
摘要:8、String to Integer (atoi)题目这道题目关键是要考虑清楚各种输入用例。针对每一种情况,函数都能处理,也就是函数鲁棒性很高。代码如下: 1 class Solution { 2 public: 3 int myAtoi(string str) { 4 i...
阅读全文
Leetcode题解(二)
摘要:4、Median of Two Sorted Arrays(*)题目题目要求找到两个排序数组的中位数。中位数的定义:当n为奇数时,median = array[n/2];当n为偶数时,median = (array[n/2]+array[n/2+1])/2.暴力算法,两个数组归并排序,对合并的数组求...
阅读全文
QT生成PDF文件
摘要:QString temp=""; //m_File_Content_Text_Edit->selectAll(); QString t_File_Content = m_File_Content_Text_Edit->toPlainText();// pdf文件生成 QPrinte...
阅读全文
通过链表实现栈的基本操作
摘要:要求:利用链表实现栈的基本操作。代码:/************************************************************************//* header.h ...
阅读全文
腾讯2016编程笔试题
摘要:1、在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。请编写一个函数,使用递归方法生成N位的格雷码,并且保证这个函数的健壮性。 首先的搞清楚格雷码是什么,百度百科 生成格雷码的方法很多,百科中提到几种生成格雷码的方法,其中包括如下几种: ①递归法
阅读全文
Ubuntu下比较通用的makefile实例
摘要:本文转自http://blog.chinaunix.net/uid-20608849-id-360294.html笔者在写程序的时候会遇到这样的烦恼:一个项目中可能会有很多个应用程序,而新建一个应用程序则所有的Makefile都要重写一遍,虽然可以部分的粘帖复制,但还是感觉应该找到更好的解决途径;另...
阅读全文
Ubuntu下通过makefile生成静态库和动态库简单实例
摘要:本文转自http://blog.csdn.net/fengbingchun/article/details/17994489Ubuntu环境:14.04 首先创建一个test_makefile_gcc文件夹,此test_makefile_gcc文件夹下包括:src文件夹用于存放源文件; incl...
阅读全文
剑指offer(一)
摘要:面试题3:二维数组中查找题目描述: 在一个二维数组中,每一行都按照从左往右递增地顺序排序,每一列都按照从上往下递增的顺序排序。请完成一个函数,输入这样的一个数组和一个整数,判断数组中是否存在该整数。算法一:直接查找,即采取遍历数组的方法;算法二:从数组右上角开始比较;算法三:从数组左下角开始比较;算...
阅读全文