自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jayn的专栏

蟹在剥我的壳,代码在写我

  • 博客(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

原创 Binary Tree Tilt

题目:计算各节点左右子树的差值的绝对值之和。 后序遍历

2017-09-14 21:04:48 544

原创 KMP 算法(Knuth–Morris–Pratt algorithm)

kmp

2017-09-11 10:59:09 481

原创 反转二叉树(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

原创 c++ primer 习题 4.28

c++习题

2017-04-02 23:51:06 326 2

空空如也

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

TA关注的人

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