- 博客(18)
- 问答 (1)
- 收藏
- 关注
原创 summary
学好英语 //在技术还跟不上的时候阅读最前沿的材料英语不好是不 行的用好搜索 //信息时代正确高效的搜索资源,利用资源,必不可少学习的输入->吸收->输出 //做题目,写文章,写demo,做项目, 利用好所学的知识即时输出才能真正变成自己的东西。刻意的坚持与长期的专注 //非一朝一夕之事,应当从当下做起无
2017-09-26 23:45:35 174
原创 最长连续子序列和
问题描述:给一个数组,找出和最大的子数组 例如: {3, -4, 5, -2, 3, 6, -3} 最大为: 5 + -2 + 3 + 6 = 12首先分析一下问题,发现可以暴力一下,从每一个数开始向后累加,找到最大的那个,复杂度为O(n^2)。再稍微仔细一点,可以看到如果累加开始的第一个数为负数,那么这个数无论加后边是什么数,必定要小于后边累加的值,既然如此,问题可以推广一下,如果之前累加的
2017-09-22 21:14:36 611
原创 git-github备忘
$ git config --global user.name "your name"$ git config --global user.email "your email"$ ssh-keygen -t rsa -C "your email" //生成密钥$ cat .ssh/id_rsa.pub //然后复制到github的ssh$ ssh -T [email protected]
2017-09-21 11:11:49 247
原创 反转链表
第一个想到的还是栈,毕竟翻转这种事情。。class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(!pHead) return NULL; stack<ListNode*> s; while(pHead) {
2017-09-19 10:32:36 351
原创 构造函数、析构函数、拷贝构造函数、赋值函数
1、基本声明: 构造函数:A (void); 析构函数:~A(void); 拷贝构造函数:A(const A& rhs); 赋值函数:A& operator(const A& rhs);2、具体:#include <iostream>using namespace std;class Area{public: //构造函数 //默认构造函数,如果类没有定义构造函数,则编
2017-09-17 12:10:38 370
原创 dp(1): 跳台阶问题
问题:共n层台阶,每次只能上1级或者2级,问有多少种上台阶的方法。首先分析一下题目,一般这种问题我都会先找一下规模最小的数值来分析一下,可以看到,上一层的走法是1种(1),上2层的走法是2种(11, 2),三层有3种(12, 21, 111),四层有5种(1111, 22, 211, 121, 112)……偷偷发现好像是斐波那契序列。。那要怎么样证明后边的数呢?
2017-09-16 12:23:03 337
原创 两个栈实现队列
first idea in my mind is 把第二个栈作为辅助栈,要用的时候家清空,第一个栈作为主要的元素存放点。class Solution{public: void push(int node) { stack1.push(node); } int pop() { while(!stack2.empty())//清空辅助栈
2017-09-16 10:41:24 126
原创 Diameter of Binary Tree
求树的直径,其实就是对于每个节点左右子树深度和的最大值。 例如: 左边深度加右边深度,可知为3。但要注意下面的情况: 这时有个子节点的深度和已经超过根节点深度和。============================= 想法是对于每个节点的左右子树深度相加,取其中的最大值:class Solution {public: int diameterOfBinaryTree(T
2017-09-15 11:02:30 126
原创 反转二叉树(Invert Binary Tree)
首先心疼 Max Howell 一秒钟。首先,递归。return NULL , if root is NULLswap left and rightrecur left child and right childTreeNode* invertTree(TreeNode* root) { if(root) { invertTree(ro
2017-09-06 16:57:24 330
原创 c++primer习题9.43
使用 stack 对象处理带圆括号的表达式。遇到左圆括号 时,将其标记下来。然后在遇到右加括号时,弹出 stack 对象中这两边括号之间的相关元素(包括左圆括号)。 接着在 stack 对象中压入一个值,用以表明这个用一对 圆括号括起来的表达式已经被替换。类似括号匹配#include <iostream>
2017-04-12 11:17:51 534
原创 c++ primer 习题8.9/8.10
Exercise 8.9: 编写函数打开文件用于输入,将文件内容读入 string 类 型的 vector 容器,每一行存储为该容器对象的一个元 素。 Exercise 8.10: 重写上面的程序,把文件中的每个单词存储为容器的一个 元素。#include <iostream>#include <string>#include <fstream>#include <vector
2017-04-09 22:00:49 252
原创 c++primer 习题7.16
编写程序使之可以接受命令行选项,并输出传递给 main 的实参值。 //prog -d -o ofile data0#include<iostream>using namespace std;int main(int argc, char *argv[]){ for(int i = 0; i < argc; i++) cout << argv[i] << endl;
2017-04-05 21:46:01 205
原创 c++primer 习题6.16
给出两个 int 型的 vector 对象,编写程序判断一个对 象是否是另一个对象的前缀。如果两个 vector 对象的长 度不相同,假设较短的 vector 对象长度为 n,则只对这 两个对象的前面 n 个元素做比较。例如,对于 (0, 1, 1, 2) 和 (0, 1, 1, 2, 3, 5, 8) 这两个 vector,你的程 序应该返回 true。#include<iostream
2017-04-04 23:21:34 273
原创 c++primer 习题6.12
编写一个小程序,从标准输入读入一系列 string 对象, 寻找连续重复出现的单词。程序应该找出满足以下条件的 单词的输入位置:该单词的后面紧跟着再次出现自己本 身。跟踪重复次数最多的单词及其重复次数。输出重复次 数的最大值,若没有单词重复则输出说明信息。例如,如 果输入是: how, now now now brown cow cow 则输出应表明“now”这个单词出现了三次。#in
2017-04-04 20:26:03 215
原创 c++primer 习题4.34/4.35
**Exercise 4.34: 编写程序读入一组 string 类型的数据,并将它们存储在 vector 中。接着,把该 vector 对象复制给一个字符指 针数组。为 vector 中的每个元素创建一个新的字符数 组,并把该 vector 元素的数据复制到相应的字符数组 中,最后把指向该数组的指针插入字符指针数组。 Exercise 4.35: 输出习题 4.34 中建立的 v
2017-04-03 10:47:10 295
空空如也
pygame 贪吃蛇遇到的问题
2017-06-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人