自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 c++实现带加减乘除括号的式子运算

题目:给定一个带加减乘除括号的运算式子字符串,求其结果如:(10+20)*3 的结果为90思路:一、去括号。用一个栈记录左括号的位置,遍历字符串,读取到右括号后栈pop,进行括号间式子的运算,并将结果字符串替换回原字符串。二、进行不带括号的式子的运算。用一个栈记录数字,一个栈记录运算符。读到数字直接入栈,读到运算符再进行运算。如果是乘号/除号,拿栈顶数字和下一个数字进行运算,结果入栈;如...

2019-10-13 11:27:45 932

原创 python kafka 报错: assert has_snappy(), 'Snappy decompression unsupported'

sudo apt-get updatesudo apt-get install libsnappy-devpip3 install python-snappy参考链接

2019-08-19 17:45:23 206

原创 Python Flask文件上传/下载

Flask app 配置配置内容:文件夹路径,运行的文件类型,文件大小限制from flask import FlaskFILE_FOLDER = 'path/to/file_folder'ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg'])app = Flask(__name__)app.config['UPLOAD_FOLDER'] ...

2019-06-30 21:43:35 2533 1

原创 Python Flask简易教程

1. Why Flask?官方文档详细,学习成本低,有利于项目其他成员迅速投入开发框架轻,可扩展性高,且有很多好用的扩展(extension)该框架仍在积极地维护和开发2. 将要介绍到的Flask的扩展flask blueprint 用于注册、管理路由flask_restful 用于支持构建REST APIsflask_migrate 用于管理数据库版本迁移flask_sq...

2019-06-28 20:40:59 421

原创 【系统分析与设计】作业6

练习资源:Asg-RH.pdf使用 UMLet 建模使用类图,分别对 Asg_RH 文档中 Make Reservation 用例以及 Payment 用例开展领域建模。然后,根据上述模型,给出建议的数据表以及主要字段,特别是主键和外键注意事项:对象必须是名词、特别是技术名词、报表、描述类的处理;关联必须有多重性、部分有名称与导航方向属性要注意计算字段数据建模,为了简化描述仅需...

2019-06-23 18:50:58 64

原创 【系统分析与设计】作业5

使用UMLet建模: 1、根据订旅馆建模文档,Asg-RH.pdf: 绘制用例图模型(到子用例) 、给出 make reservation 用例的活动图​​​​​​​2、根据课程练习“投递员使用投递箱给收件人快递包裹”的业务场景 分别用多泳道图建模三个场景的业务过程 x科技公司发明了投递柜,它们自建了投递柜以及远程控制系统。注册的投递员在推广期免费使用投递柜。由于缺...

2019-05-25 23:49:44 64

原创 【系统分析与设计】作业4

一、简答题1. 用例的概念:用例是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标2. 用例和场景的关系?什么是主场景或 happy path?:场景是参与者和系统之间的一系列特定的活动和交互,也称为用例实例。用例包含了若干个场景。主场景是指用户与系统发生主要交互的场景,通常是成功的,描述了涉众关注点的典型成功路径。3. 用例有哪些形式?:Brief(...

2019-05-25 23:43:18 56

原创 【系统分析与设计】作业3

一、简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点(从项目特点、风险特征、人力资源利用角度思考)【瀑布模型】是一种项目开发架构,开发过程是顺序展开的,从一个阶段流动到下一个阶段。瀑布模型中的每一个开发活动具有下列特征:【优点】1.降低软件开发的复杂程度,提高软件开发过程的透明性,提高 软件开发过程的可管理性2.推迟软件实现,强调在软件实现前必须进行分析和设计工...

2019-04-19 23:54:30 64

原创 【系统分析与设计】作业2

简答题:1. 用简短的语言给出对分析、设计的理解分析强调的是对问题和需求对调查研究,对可行性进行分析,而不是解决方案。设计强调的是满足需求的概念上的解决方案,而不是其实现。2. 用一句话描述面向对象的分析与设计的优势实现面向对象程序设计的过程中,会实现设计出来的对象,所以面向对象分析与设计将问题中的对象转换为程序中的对象,使得程序设计更加清晰,项目架构更加清晰。3. 简述 ...

2019-04-07 20:42:21 149

原创 【系统分析与设计】作业1

软件工程的定义:(1)软件工程是将系统的、规范的、可量化的方法应用到软件的开发、操作和维护上,也就是将工程学应用到软件领域。(2)是对如何将工程学应用到软件领域的研究。解释导致 software crisis 本质原因、表现,述说克服软件危机的方法:本质原因:计算机的发展表现:随着计算能力的发展,软件处理的问题越来越广、越来越复杂克服的方法:使用系统化、与时俱进的软件工程方法软件...

2019-03-22 10:27:28 98

原创 mysql 存储引擎

mysql有多种可选的存储引擎(storage engine), 可以在创建表时进行指定: create table test(id int(10)) engine=innodb;查看表指定的引擎show table status\G1. InnoDB默认使用的引擎是innodb。支持行级锁,主码会使用聚簇索引,支持外码的完整性约束,支持事务。支持B+树索引(尽管语法中...

2019-03-02 09:50:56 90

原创 c++ 右值引用

首先,什么是左值、右值?左值是能出现在等号左边和右边的变量,右值是只能出现在等号右边的变量(或表达式)。左值引用为 & , 而右值引用为 &&。那么为什么需要右值引用呢?主要是为了处理c++临时对象的低效的问题,使用右值引用可以减少不必要的拷贝构造。举个例子:#include <iostream>using namespace std;...

2019-02-17 21:05:17 61

原创 win10: 无法连网 There is something wrong with the proxy server

控制面板-> 网络和Internet-> Internet 选项 -> 连接 -> 局域网设置 勾选:自动检测设置不勾:为LAN使用代理服务器

2019-02-02 08:41:26 1610

原创 算法Project(变种背包问题)

问题描述:假设有n个商店和m位顾客,我们希望计算得到:(1)开放那些商店(2)安排哪位顾客去哪位商店来使得开销最小。其中:如果商店有安排到至少一位顾客,则商店需要开放营业,而这需要开销opening cost(每个商店的opening cost不同),另外安排某位顾客去某位商店的这一过程也需要开销assigning cost,且因商店的不同和顾客的不同而变化。也即: 总开销...

2018-12-23 00:14:26 130

原创 X.509标准

X.509标准规定了证书包含的信息。何为证书?我们先来看看证书使用的过程:假设A要使用数字签名发送消息给B,A首先通过Hash函数生成信息的摘要,然后使用自己的私钥对摘要进行加密,生成数字签名。然后将消息和数字签名一并发送给B。B通过已有的A的公钥对数字签名进行解密,然后通过同样的Hash函数生成消息的摘要,对比两份摘要,如果相同则代表消息正确。这里存在一个问题,如何确保B已有的公...

2018-12-13 18:47:34 545

原创 算法周计12.9

leetcode 327分析: 这一题是让我们在一个数组中找一系列区间,区间中的数求和的结果在lower与upper之间,我们需要计算出这样的区间的个数。解题:可以使用分治的思想来解这一题。首先,我们先计算出求和数组sum, 当需要计算区间[i,j]内的数的和时,只用求sum[j]-sum[i]就可以了。另外需要注意sum[0] = 0,这是为了计算区间[0,1]而保留的值。所以sum...

2018-12-09 23:43:44 101

原创 算法周记12.2

leetcode 152  分析: 可以在O(n)的时间复杂度之内解决问题,方式是在遍历的过程中记录乘积的最大值pos_value(大于等于0)和乘积最小值neg_value(小于等于0)。初始时这些值设为0。当遇到一个数a时:若a为正数,pos_value为a(考虑pos_value为0的情况)与pos_value*a之中的较大的值。neg_value为neg_value与a...

2018-12-02 17:50:01 141

原创 动态规划4

 leetcode 63分析:需要注意到题目描述中:机器人只能向下或者向右移动,这一点大大降低了难度。所以可以列出转移方程:dp[i][j]表示从起点到(i,j)的路径的数量,那么:dp[i][j] = dp[i-1][j] + dp[i][j-1]  (当这两个点在grid之内且不为障碍物时)另外,如果(i,j)是障碍物,dp[i][j] = 0代码如下:int...

2018-11-25 11:29:20 94

原创 动态规划3

leetcode 132分析:这一题需要使用两次dp。第一次dp需要找到所有回文子串,第二次dp需要找到最小切。而实际上,两个dp可以同时进行。首先是找出所有的回文子串:设dp[j][i]为1时表示子串s[j,i]是一个回文串,那么有:当s[j] == s[j], 且子串s[j,i]长度小于等于2或者dp[j+1][i-1]为1时dp[j][i] = 1其中,当j ...

2018-11-18 22:24:07 77

原创 动态规划2

leetcode 97 思路:一开始考虑怎么用动态规划解决问题,反而没什么头绪。于是改变思路,先不管动态规划,而是想如何解决这道题。可以肯定的是,如果s3的最后一个字符与s1和s2的最后一个字符都不同,那么将无法通过s1与s2的交错得到s3。假若s1与s2其中一个的最后一个字符与s3的最后一个字符相同(假设是s1,删除最后一个字符得到s1*,而s3删除最后一个字符得到s3*)。那么...

2018-11-11 18:19:56 54

原创 动态规划背包问题

1.01背包问题:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。分析:用dp[i][v]表示将前i个物品放入价值为v的背包能获得的最大价值计算dp[i][v]时,分两种情况:第i件物品选或者不选,二者中价值较大的值就是f[i][v]的值,即:dp[i][v]=max...

2018-11-04 19:01:27 391

原创 makefile模板

CC := g++FLAGS := -std=c++11 -wINC_DIR := includeSRC_DIR := srcBUILD_DIR := buildBIN_DIR := binINCLUDE := -I./$(INC_DIR)$(BIN_DIR)/main: $(BUILD_DIR)/a.o $(BUILD_DIR)/b.o $(BUILD_DIR)/main.o...

2018-11-02 14:14:25 67

原创 安卓虚拟机在 widget list中找不到自己的app

我遇到的问题是,将widget从虚拟机桌面删除之后就在 widget list中找不到自己的app了。解决方式:将widget_info.xml中的minWidth和minHeight进行调整,虚拟机就能发现我的app的widget了。(有点玄学)...

2018-10-30 15:50:42 455

原创 动态规划

动态规划介绍动态规划是一种功能强大的计算模式,其解决问题的方式是首先定义它的一组子问题,然后按照由小到大,以小问题的解答支持大问题求解的模式,依次解决所有的子问题,并最终得到原问题(最大子问题)的解答。leetcode 32  思路:设字符串长度为L,最长合法括号子字符串的长度为dp[L-1]。对于某个字符的下标k, dp[k]表示0到k的这个字符串中的最长合法括号子字符串的长...

2018-10-28 23:45:26 60

原创 并查集算法题

简要介绍:并查集:  一种数据结构,将一个集合分为不相交的子集,在添加新的子集,合并现有子集,判断元素所在集合时时间复杂度接近常数级。常用于求连通子图和最小生成树的Kruskal算法。操作:  makeSet:  初始化,给每个元素分配一个特定的id,以及一个指向自己的指针,表示每个元素都在一个大小为1的集合当中。  find:       查找某个元素的根元素。当两个元素拥有...

2018-10-20 23:29:13 424

原创 安卓recycleview

添加依赖implementation 'com.android.support:recyclerview-v7:+'list.java (主类) RecyclerView recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLay...

2018-10-15 19:29:59 247

原创 安卓ListView自定义Adapter

list.xml <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content" />item.xml <TextView andro...

2018-10-15 11:07:27 1360

原创 队列的一些算法题

leetcode 862 解题思路:一、先试试暴力求解。对于不同的起点1.如果起点是负数,终止2.起点依次向后累加,如果累加的值小于等于0,终止3.如果累加的值大于等于K,符合条件,记录长度。最后选取最短的长度复杂度为,超时。代码如下: int shortestSubarray(vector<int>& A, int K) { ...

2018-10-14 20:57:20 806

原创 git merge 之后文件被删除

git merge 快速合并时会以某个文件新的操作为准,如果master将一个dev合并进来,而dev分支中对某个文件进行过删除操作,那么merge之后master就会将那个文件删除。举个例子:master 分支创建文件 1.txt 并 commit -> 创建分支 dev -> dev 删除1.txt 并 commit此时如果在master分支git merge dev ...

2018-10-12 22:36:41 6626

原创 图的一些算法题2

leetcode 765N couples sit in 2N seats arranged in a row and want to hold hands. We want to know the minimum number of swaps so that every couple is sitting side by side. A swap consists of choosing ...

2018-10-07 21:10:47 115

原创 图的一些算法题

 leetcode 210There are a total of n courses you have to take, labeled from 0 to n-1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is ex...

2018-09-30 18:33:32 858

原创 欧拉路径问题

leetcode 332Given a list of airline tickets represented by pairs of departure and arrival airports [from, to], reconstruct the itinerary in order. All of the tickets belong to a man who departs from...

2018-09-23 10:07:53 873

原创 Divide and Conquer

分治算法通常需要三个步骤1.将原问题分解为一组子问题,每个子问题都与原问题类型相同,但是比原问题的规模小2.递归求解这些子问题3.将子问题的求解结果恰当合并,得到原问题的解leetcode 53Given an integer array nums, find the contiguous subarray (containing at least one number) ...

2018-09-16 19:20:46 620

原创 docker更新版本

添加源sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get updateapt-cache madison docker-ce     查看合适的版本,选择一个安装如:sudo ...

2018-09-11 19:56:48 744

原创 Climbing Stairs

题目:You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?Note: Given n will be a pos...

2018-09-06 13:50:25 50

原创 Python SimpleHTTPServer 共享文件目录

在想要共享的目录中执行命令python -m SimpleHTTPServer 8000则通过8000端口访问当前电脑ip就可以访问共享的目录了

2018-08-19 12:43:31 921

原创 docker不用sudo进行命令行操作

创建group组sudo groupadd docker添加当前用户用户到docker组sudo gpasswd -a ${USER} docker重启 docker服务sudo service docker restart切换会话,避免使用缓存的组信息newgrp - docker...

2018-08-18 23:17:06 1872

原创 linux下redis允许远程连接

找到redis.conf,默认为/etc/redis/redis.conf修改redis.conf 文件,把bind 127.0.0.1 ::1这一行注释掉修改redis.conf 文件,protected-mode 要设置成nosudo service redis stopsudo service redis start...

2018-08-01 13:01:34 860

原创 linux下mysql允许远程连接

use mysql;update user set host='%' where user='root';flush privileges;之后还要修改配置文件,文件路径为/etc/mysql/mysql.conf.d , 把 bind-address 那一行注释掉(或者改为0.0.0.0),再重启mysql服务(sudo mysql service restart), 完成!...

2018-08-01 12:51:02 365

原创 mysql 查询得到的表如何继续和其他表连接

解决方法: 将查询到的表重命名,然后根据重命名写出连接条件例如: 需要从organize表中获得每个game参与的user的数量,先对organize进行group by和count操作,得到一张表,再和game表作连接,就可以得到game的信息和每个game参与人数的新表。select * from (select gid,count(uid) from organize group by or...

2018-06-16 20:05:01 439

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