自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 github+travis实现自动部署 && 前端跨域问题解决之Nginx配置篇

github+travis实现自动部署利用github + travis实现的是持续集成服务,但是在完成构建之后,我们能够通过ssh免密连接连接到部署服务器上,运行脚本就能完成代码自动部署。以后每次把代码push到github上后,服务器上就能够自动部署运行最新的代码。step 1首先是用github账号登录travis,并将要集成的仓库授权给travis,这个操作比较简单,不多做...

2018-07-04 00:56:04 737

原创 《系统分析与设计》Final report

课程学习自我总结我主要负责后台的开发、部署:学习了一门新的语言。在此之前没学过golang语言。正好这次系分课程需要做个项目,因此我利用这个机会学习了golang,使用golang搭建起了后台的服务。没有使用http框架。我认为这个后台服务功能没有复杂到需要使用框架的程度,因此只是使用了一个第三方路由库mux以及golang中的http模块,加上一个使用mongodb的库mgo,自己手...

2018-07-01 16:49:34 247

原创 《系统分析与设计》第九次作业

使用 ECB 实现 make reservation 用例的详细设计将逻辑设计类图映射到实际项目框架的包图。用树形结构表述实现的包和类

2018-06-30 22:41:12 203

原创 《系统分析与设计》Homework 8

软件架构与框架之间的区别与联系

2018-06-09 18:13:49 135

原创 服务端开发学习资料汇总

数据库redishttps://github.com/CyC2018/Interview-Notebook/blob/master/notes/Redis.md

2018-05-25 20:22:58 259

原创 《系统分析与设计》Homework 7

用例图

2018-05-13 23:17:56 128

原创 Mac下thrift编译问题

最近打算了解一下thrift框架的使用,在mac下,使用命令brew install thrift安装thrift。thrift版本为0.11.0,boost版本为1.67(此为一坑)。 安装完成后,参考网上的教程,编写了简单的thrift文件,使用命令thrift -r --gen cpp ICalc.thrift编译thrift文件,产生gen-cpp目录,其中有框架生成...

2018-05-09 16:31:29 2088 1

原创 《系统分析与设计》Homework 6

1.参考 Asg_RH 文档, 对 Reservation/Order 对象建模2.研究淘宝退货流程活动图,对退货业务对象状态建模

2018-05-06 23:47:03 125

原创 《系统分析与设计》Homework 5

领域建模a. 阅读 Asg_RH 文档,按用例构建领域模型结果如下: b. 数据库建模(E-R 模型)结果如下:(使用的建模工具:MySQL Workbench) 导出的数据库脚本为:-- MySQL Script generated by MySQL Workbench-- Mon Apr 30 00:00:41 2018-- Model: New ...

2018-04-29 23:10:07 166

原创 《系统分析与设计》Homework 4

《系统分析与设计》Homework 41.用例建模阅读 Asg_RH 文档,绘制用例图。 选择携程网绘制用例图。 对比两个时代、不同地区产品的用例图,总结在项目早期,发现创新的思路与方法 在项目早期,可以参考同类产品的设计思路,总结发现同类产品的优点与不足,来发现创新思路。结合项目具体应用环境,创造出符合目标用户使用习惯的产品。进行用户需求调查,进一步对产品做出改进。...

2018-04-23 00:04:24 217

原创 LeetCode简易题解--103

题意描述:二叉树的层次遍历,奇数层从左往右遍历,偶数层从右往左遍历。解法:广度优先搜索。一般的层次遍历,用一个队列进行广度优先搜索即可。但是这个题目中的要求有所不同。在遍历过程中,需要纪录层数,根据层数采取相应的措施。因此定义了一个新的结构来储存结点,在原来结点的基础上加上一个字段表示层数:struct Node { int val; int level; Tr

2018-01-09 17:30:43 296

原创 LeetCode简易题解--120

题目描述:给出一个数字三角形,求出从上到下的数字之和最小的路径。一个数字只能通往下一层与它相邻的两个数字。解法一这道题目的想法很简单:从左到右,从上到下遍历矩阵,每次遍历到一个值,dp[i][j]表示从第一层到目前这个值(第i层第j个)的最小路径。每次遍历,由于上一层的一个数字只能通往下一层与它相邻的两个数字,因此在更新dp数组时,只需考虑上一层的两个值即可:dp[i][j] += min(dp

2017-12-31 21:05:49 172

原创 LeetCode简易题解--091

题目描述:有以下映射表: 'A' -> 1 'B' -> 2 ... 'Z' -> 26给定一个字符串,根据映射表判断有多少种组合方式。 比如: Given encoded message “12”, it could be decoded as “AB” (1 2) or “L” (12).这道题可以用动态规划求解,基本思路是比较简单的。 dp[i]表示s[0...i]有多少种组

2017-12-05 19:42:31 146

原创 LeetCode简易题解--084,085

84题目描述:给出一个数组,数组中每个元素依次表示一个直方图的高度,每一格的宽度都为1.找出这个直方图中最大矩阵的面积。基本思路:使用一个栈。 从左至右扫描数组,将每一格的下标压入栈,并且保证栈中元素自底向上是升序排序的。 当一个下标要压入栈时,检查栈顶下标代表的元素是否大于等于当前下标的元素。 如果大于等于,这个时候就可以进行矩形面积的计算了:将栈顶元素出栈,直到栈为空活着栈顶下标的元素小

2017-12-05 14:07:58 192

原创 LeetCode简易题解--221

题目描述:给定二维0,1串的矩阵,找出最大的正方形的只有1串的区域。 例如: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0答案为4.解题思路:动态规划。 dp[i][j]是以(i,j)为右下角顶点的最大正方形的边长。矩阵从左到右、从上到下进行扫描,当发现: 1. (i, j), (i-1, j), (i, j-1)三个位置都为1的时候,(i, j)这个

2017-12-05 13:28:58 179

原创 LeetCode简易题解--039

题目描述:给定一个数组candidates和一个target整数,找出数组中所有不重复的、和等于target的所有可能组合。For example, given candidate set [2, 3, 6, 7] and target 7, A solution set is: [ [2, 2, 3], [7]]简单的回溯法即可求得正解。在递归的每一层中都遍历数组的所有值,对每个值

2017-11-10 18:40:49 200

原创 LeetCode简易题解--105、106

105. Construct Binary Tree from Preorder and Inorder Traversal题目描述:给出二叉树的先序遍历数组和中序遍历数组,构造原本的二叉树。 结构体为:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *le

2017-11-10 00:38:40 920

原创 LeetCode简易题解--375

这道题涉及到了极大极小算法的知识。题目要求的是求出在最坏情况下(猜错的次数最多)的最小代价。 例如,n=5时,先后选择第二个和第四个数就一定能知道被选中的数,也就是说,最坏情况是猜错两次。最小代价就是这两次的选择的代价和的最小值。 解题的思路是使用动态规划法。先确定动态规划的边界: 假设对[start, end]范围求解。当数组数字个数为:1个时,结果为02个时,选择较小的那个值,最坏情况

2017-10-20 23:09:17 443

原创 LeetCode简易题解--010

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-10-20 22:40:25 249

原创 LeetCode简易题解--098、099

98. Validate Binary Search Tree题意简述:判断一颗二叉树是否是二叉搜索树(BST)。 Binary tree [2,1,3], return true. Binary tree [1,2,3], return false.中序遍历二叉树,判断得到的数组是否是升序的即可。用递归的方法也很简单,这里就不多说了。这里介绍的是非递归的方法。 非递归算法需要用到一个

2017-10-11 11:46:36 172

原创 LeetCode简易题解--053

题意简述:给定一个数组,这个数组有许多连续子集,每个子集的所有数字之和记为A,找出A的最大值。 例如,数组为[-2,1,-3,4,-1,2,1,-5,4],最大子集为:[4,-1,2,1],其和为6.解法:动态规划记录数组sums[],sums[i]表示从第0到第i个数字之和。则sums[i, j] = sums[i] - sums[j - 1], j < i。 那么...

2017-09-29 00:38:24 266

原创 LeetCode简易题解--121、122、123、188

121. Best Time to Buy and Sell Stock目标是找到max(prices[j]−prices[i]), for every i and j such that j > i. 直接用两层循环可能会超时。 更好的方法是遍历一遍prices[]数组,每一次遍历执行一下两个操作:记录下目前为止遇到的最小值计算当前price与最小值的差值,与已经得到的前面...

2017-09-18 22:44:36 614

原创 LeetCode简易题解--629

LeetCode简易题解–629这道题涉及到动态规划的知识。 动态规划有三个核心元素:最优子结构、边界、状态转移方程。 这道题的难点在于如何找出状态转移方程,实际上更多的是一个数学问题。首先n=1时,输出值始终为0(显而易见);k=0时,输出值始终为1(升序排列);这是边界。 记输出为F(n, k)。 如何推导出状态转移方程呢?首先看看n从4变成5发生了什么: 因为5肯定是最大的数,所以

2017-09-12 23:15:22 343

转载 含空格的字符串的输入

【转】 1.最容易的,将一个字符串分为一个一个字符输入 char s[100]; int i=0; while(scanf("%c",&s[i]),s[i]!='\n')i++; s[i]='\0'; //遇到换行停止输入,并且将换行替换为\0 printf("%s\n",s);但是如果在这段程序前还有其他类型的输入,则需要把回车吃掉,即加一条scanf(“%*c”),或者使用 getchar

2015-11-29 15:46:08 2198 1

空空如也

空空如也

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

TA关注的人

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