编程
lrj3763292194
这个作者很懒,什么都没留下…
展开
-
C++ Primer文本查询程序(TextQuery)的实现(2014.5.24)
详见书的10.6节。 按行查找文件,并且按照顺序进行显示,同时对单词出现的次数进行统计。同一行出现多次,只按照一次进行计算。1.头文件#include #include #include #include #include #include #include #include using namespace std;2.TextQuery类的原创 2014-07-01 09:52:36 · 792 阅读 · 0 评论 -
剑指offer-题目1369:字符串的排列 (2013.12.25)
//递归实现基本的排序,字典序通过事先调用sort()函数解决,重复字符通过添加重复判断解决#include #include #include #include#include using namespace std;void Permute(string soFar,string rest){ string pre;//前原创 2014-04-11 22:15:12 · 484 阅读 · 0 评论 -
剑指offer-题目1352:和为S的两个数字 (2014.2.10)
#include #include using namespace std;#define max_length 1000000void find(int arr[],int n,int sum){ int index1=0; int index2=n-1; int num1=-1,num2=-1; while (index1 {原创 2014-04-11 22:16:46 · 447 阅读 · 0 评论 -
剑指offer- 题目1519:合并两个排序的链表 (2014.1.3)
#include #include #include #include using namespace std;struct Entry{ int m; Entry *next;};Entry *GetNewEntry(){ int p; cin>>p; Entry *newOne=new Entry;原创 2014-04-11 22:18:16 · 410 阅读 · 0 评论 -
剑指offer- 题目1505:两个链表的第一个公共结点 (2014.1.1)
//链表中节点的特点在于,其每个节点包括一个值和志向的下一个指针,因此,一旦某一个节点相同,则该节点之后的所有节点都会相同。本程序实际上比较的是节点值相同则结束,并不是真正的指针相同。事实上,自己构造也很麻烦,并不适合自己实现。初始输入的结构应当是前端分叉,后端合一(有相同节点)的两个链表。#include #include #include using nam原创 2014-04-11 22:19:57 · 473 阅读 · 0 评论 -
剑指offer- 题目1387:斐波那契数列 (2014.1.3)
//递归的方法,超时#include #include #include #include using namespace std;int Fibonacci(int n){ if (n==0) { return 0; }else if (n==1) { return 1; }else原创 2014-04-11 22:20:56 · 456 阅读 · 0 评论 -
Single Number(2014.2.7)
class Solution {public: int singleNumber(int A[], int n) { int x=A[0]; for(int i=1;i x^=A[i]; } return x; }};原创 2014-04-19 23:17:16 · 494 阅读 · 0 评论 -
leetcode-Generate Parentheses (2014.4.18)
Generate Parentheses Total Accepted: 10265 Total Submissions: 33530 My SubmissionsGiven n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example原创 2014-04-19 23:08:59 · 505 阅读 · 0 评论 -
剑指offer-题目1388:跳台阶 (2014.1.5)
//采用递归的方案,类似于递归中的子集问题,超时#include #include #include using namespace std;void jumpStep(int soFar,int n,int &iCount){ if (soFar==n) { iCount++; return; }else原创 2014-04-20 19:39:38 · 483 阅读 · 0 评论 -
leetcode-Add Two Numbers (2014.2.27)
细节很多,用了相当长的时间。代码长度很长,不够简洁。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */cla原创 2014-04-19 23:10:45 · 509 阅读 · 0 评论 -
leetcode-Best Time to Buy and Sell Stock(2014.2.17)
O(n)时间即可以完成class Solution {public: int maxProfit(vector &prices) { if(prices.size() int maxPro=0; int low=prices[0]; for(int i=0;i int m=price原创 2014-04-19 23:07:28 · 430 阅读 · 0 评论 -
leetcode-Best Time to Buy and Sell Stock III(2014.2.17)
整个调试过程花了好久,还是在参考别人答案的情况下。好吧,牙疼,昨夜没怎么睡觉,状态不佳。 采用动态规划的方法,时间复杂度为O(n)就搞定了,动态规划的核心似乎是备忘录。不过和诗辉讨论认为这个似乎并不是动态规划。class Solution {public: int maxProfit(vector &prices) { if(prices.原创 2014-04-19 23:05:08 · 584 阅读 · 0 评论 -
Linked List Cycle II(2014.2.7)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *dete原创 2014-04-19 23:18:43 · 536 阅读 · 0 评论 -
Spiral Matrix II(2014.3.2)
想来是有递归解法的,对递归的体会尚且不够。class Solution {public: vector > generateMatrix(int n) { vector> vec; if(n==0) return vec; vector vec1; for(int i=0;i vec1.pus原创 2014-04-19 23:16:28 · 537 阅读 · 0 评论 -
leetcode-3Sum Closest (2014.4.10)
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly原创 2014-04-19 23:12:19 · 494 阅读 · 0 评论 -
leetcode-Balanced Binary Tree(2014.1.27)
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla原创 2014-04-19 23:08:11 · 486 阅读 · 0 评论 -
剑指offer-题目1389:变态跳台阶(2014.1.5)
//数学归纳法可以证明。f(n)=2exp(n-1),核心也是在于该公式的证明,算法则非常简单,采用递归实现#include #include #include using namespace std;long long abnormalJumpStep(int n){ if (n==1) { return 1;原创 2014-04-11 22:13:20 · 435 阅读 · 0 评论 -
剑指offer-题目1390:矩形覆盖 (2014.1.5)
//依然是递归的问题,答案同斐波那契数列。有所改动之处在于初始的值。这也是不同的斐波那契数列的区别#include #include #include using namespace std;long long Fibonacci(int n){ if (n==1) { return 1; }else if原创 2014-04-11 22:12:17 · 489 阅读 · 0 评论 -
剑指offer-题目1511:从尾到头打印链表 (2013.12.27)
#include #include #include using namespace std;struct Entry{ int m; Entry *next;};Entry *GetNewEntry(){ int p; cin>>p; if (p==-1) return NULL; Entry *原创 2014-04-11 22:11:21 · 435 阅读 · 0 评论 -
matlab读取csv文件存在字符串的问题(2014.5.8)
http://blog.csdn.net/bendanban/article/details/16335359这个链接基本上可以解决所遇到的问题,我要读取的是LBSN中签到记录的敬畏度数,但是就是读取不了,尝试了下用这个链接的最后的语句是可以读取字符和数字混合的记录的,当是我的记录有特殊性5259ba9911d2b343baafd9a7,134398,13/10/2013 05:09原创 2014-05-21 12:47:53 · 6450 阅读 · 0 评论 -
leetcode-Same Tree(2014.1.23)
判断两个树是否相同/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }原创 2014-04-13 22:14:26 · 523 阅读 · 0 评论 -
leetcode-Sort List(2014.2.8)
采用归并排序:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListN原创 2014-04-13 22:08:21 · 548 阅读 · 0 评论 -
leetcode-Sqrt(x) (2014.4.7)
Implement int sqrt(int x).Compute and return the square root of x.注意二分搜索的写法。class Solution {public: int sqrt(int x) { long long low=0; long long high=x/2+1;原创 2014-04-13 22:06:35 · 556 阅读 · 0 评论 -
leetcode-Swap Nodes in Pairs (2014.3.10)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *swap原创 2014-04-13 22:05:46 · 494 阅读 · 0 评论 -
leetcode-Search a 2D Matrix(2014.2.23)
class Solution {public: bool searchMatrix(vector > &matrix, int target) { int m=matrix.size(); int n=matrix[0].size(); if(targetmatrix[m-1][n-1]) return false;原创 2014-04-13 22:11:35 · 531 阅读 · 0 评论 -
leetcode-Spiral Matrix(2014.3.1)
这道题脱离数组下标的考虑,以x轴,y轴进行考虑,更易进行理解和处理。class Solution {public: vector spiralOrder(vector > &matrix) { vector ans; if(matrix.size()==0||matrix[0].size()==0) return ans;原创 2014-04-13 22:07:27 · 578 阅读 · 0 评论 -
leetcode-Unique Binary Search Trees(2014.1.31)
catlan数:递归的方法:class Solution {public: int numTrees(int n) { if(n==1||n==0) return 1; int num=0; for(int i=1;i num+=numTrees(i-1)*numTrees(n-i);原创 2014-04-13 22:02:06 · 480 阅读 · 0 评论 -
俄罗斯方块(2013.9.27)
这个程序创作来源于《编程之美》和张毅的启发。该书上有该程序的相关问题,那一日见到张毅竟然实现了,于是手痒,也想做一下,练一下编程水平。当下仍然在进行中,记录实战点滴吧。在张毅的指点下逐步完成这个程序,一些要点及想法:1。学会分层次分步骤的问题。我一开始就想着怎么绘制图形,响应消息这些。学会先写内部的逻辑,要不然问题解决不了。2。七个基本图形,采用数组存储。3。产生一个随机的图形,设置为原创 2014-04-13 21:52:20 · 667 阅读 · 0 评论 -
leetcode-Triangle (2014.3.12)
递归的方法超时,思想是以当前的,加上以此节点分出的两个节点中的较小的一个,需要改成动态规划来计算。递归的思想:一个出口,一个循环条件,考虑的时候要假设后续的都已经实现。类似于斐波那契的转换。尝试和LCS比较和《编程之美》中的GPS最短路径导航进行比较的话,动态规划是先从底部开始计算,则是从目标地点开始计算。可以将所有的最短路径计算出来,最后只有一个出发点,返回该出发点的最小值就可以原创 2014-04-13 22:03:08 · 423 阅读 · 0 评论 -
leetcode-gas station(2014.2.21)
暴力的方法需要O(n*n)的时间复杂度,即挨个使每个加油站作为起点,进行尝试。改进的方法:先要对整体进行判断,即加油站油总量大于需要消耗的油的总量,则一定可以。每当累积的油量不足以消耗,则当从该站的下一站作为起点,也就是说,这样的站点,尽量放在后边。遍历一次即可。class Solution {public: int canCompleteCircuit(vector原创 2014-04-13 22:00:34 · 603 阅读 · 0 评论 -
题目1351:数组中只出现一次的数字 (2014.2.16)
采用亦或的方法有一个用例超时:#include #include using namespace std;#define max_length 10000void find(int arr[],int m){ int p=0; for (int i=0;i { p^=arr[i]; } int t; for (原创 2014-04-11 22:05:16 · 507 阅读 · 0 评论 -
剑指offer-栈的压入、弹出序列 (2013.12.23)
循环时注意变量的初始化,队列的使用使得思路更加简洁。#include #include #include #include using namespace std;int main(){ int ilength; int m; int p=0; //vector nums; vectorint> numstoju原创 2014-04-11 22:08:08 · 548 阅读 · 0 评论 -
剑指offer-题目1518:反转链表 (2014.1.2)
//为方便计,未对原来的链表进行解构#include #include #include #include using namespace std;struct Entry{ string m; Entry *next;};Entry *GetNewEntry(){ string p;原创 2014-04-11 22:09:47 · 494 阅读 · 0 评论 -
剑指offer-题目1517:链表中倒数第k个结点 (2013.12.29)
//后插的话需要多用一个标记指#include #include #include using namespace std;struct Entry{ string m; Entry *next;};Entry *GetNewEntry(){ string p; cin>>p; Ent原创 2014-04-11 22:10:35 · 497 阅读 · 0 评论 -
leetcode-Convert Sorted Array to Binary Search Tree(2014.4.20)
Convert Sorted Array to Binary Search Tree Total Accepted: 10637 Total Submissions: 33426My SubmissionsGiven an array where elements are sorted in ascending order, convert it to a height balan原创 2014-04-20 21:08:45 · 635 阅读 · 0 评论 -
leetcode-Binary Tree Inorder Traversal(2014.1.23)
递归方法:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };原创 2014-04-20 19:35:41 · 439 阅读 · 0 评论 -
leetcode OJ -Binary Tree Preorder Traversal(2014.1.20)
递归:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };原创 2014-04-19 23:13:45 · 505 阅读 · 0 评论 -
leetcode-First Missing Positive(2014.2.25)
哈希的思想是能够在常数时间内进行查找,哈希函数是具体的实现方法,应当各有不同。class Solution {public: int firstMissingPositive(int A[], int n) { if(n for(int i=0;i if(A[i] } for(i原创 2014-04-15 20:05:07 · 498 阅读 · 0 评论 -
leetcode-Jump Game(2014.2.23)
需要两个计数,lastJump记载当前能跳最远处,maxJump记录实际能跳最远距离。class Solution {public: bool canJump(int A[], int n) { int lastJump=0; int maxJump=0; int i=0; while(maxJump原创 2014-04-15 20:04:24 · 502 阅读 · 0 评论 -
leetcode-Pascal's Triangle
vector如果使用数组类似的位置取值,则必须要初始化确保长度足够。保持一致性,不要和push_back()这种混用class Solution {public: vector> generate(int numRows) { vector> vec; vector vecpast; if(numRows==0) return原创 2014-04-15 19:55:09 · 374 阅读 · 0 评论