自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cheng_913的博客

大家好,由于本人是初学者,如有错误之处,请评论留言指正。

  • 博客(15)
  • 收藏
  • 关注

原创 【C++】强制类型转换

C++中四种强制类型转换:static_cast, reinterpret_cast, const_cast, dynamic_cast1. static_cast(编译时类型检查)用于非多态类型之间的转换(静态转换),任何标准类型之间都可以用它,但它不能用于不相关类型之间的转换。主要有以下几种用法:用于基本的数据类型之间的转换,例如把int转换为char,把int转换为enum,但...

2018-07-28 16:25:51 192

原创 数字和Sum的方案数

题目描述 给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。 输入描述: 输入为两行: 第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000) 第二行为n个正整数Ai,以空格隔开。 输出描述: 输出所...

2018-07-28 15:11:15 692

原创 1+2+3+...+n

题目:计算1+2+3+…+n,要求:不使用if, while, for, switch, case等关键字及三目运算符。看到题目要求不能使用这么多关键字,那么可以考虑用递归。int Sum_Solution(int n, int& sum){ n&&Sum(n - 1, sum); return sum += n;}void test()...

2018-07-26 16:45:00 1105

转载 01背包问题(动态规划)

总结——01背包问题 (动态规划算法) 0-1 背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?分析一波,面对每个物品,我们只有选择拿取或者...

2018-07-24 21:37:20 358

原创 浅析C++中的explicit, mutable

explicitexplict用来声明构造函数,防止隐式的类型转换,避免不必要的错误。 当类的构造函数的参数只有一个的时候,或者所有的参数都有缺省值的情况下,我们可以利用一个内置类型去赋值一个类对象,就像下面的例子:class A{public : A(int a, int b = 10) : _a(a) , _b(b) {}priv...

2018-07-22 11:06:20 245

原创 青蛙跳台阶

青蛙跳台阶一只青蛙可以一次跳1层台阶,也可以一次跳2层台阶,问青蛙跳上n层台阶有多少种跳法? 思路:首先,考虑特殊情况: 当n等于0的时候,0层台阶,f(0)=0; 当n等于1的时候,1层台阶,也就1种跳法,f(1)=1; 当n等于2的时候,2层台阶,可以一次跳两层,也可以一层一层跳,两种跳法,f(2)=2; 当n等于3的时候,青蛙的第一跳有两种情况,跳一层...

2018-07-18 22:57:09 554

原创 【C++】设计一个类,只能在栈(堆)上创建对象

设计一个类,只能在栈上创建对象使用new运算符,对象会建立在堆上,也就是说只要不用new去创建对象就可以实现,我们知道new和delete分别调用了operator new和operator delete,如果我们把这两个函数声明为私有的,操作符new就不能用了。class A{public: A() { cout << "A()" <...

2018-07-17 16:30:32 358

原创 【C++】设计一个不能被继承的类

设计一个类,不能被继承在继承体系中: 基类public成员 基类protected成员 基类private成员 概括 public继承 仍为public成员 仍为protected成员 不可见 非私有成员访问属性不变 protected继承 变为protected成员 变为protected成员 不可见 非私有成员...

2018-07-14 15:08:05 1513 1

原创 Shell脚本工作原理

我们知道Shell脚本是一种解释性的语言,是不用编译的,那么它是如何执行程序的呢?chmod u+x test.sh./test.sh Shell会fork()一个子进程,然后调用exec()执行,exec()会用把子进程的代码段替换成test.sh程序的代码段,然后开始执行,父进程等待子进程终止; 但是由于test.sh是一个文本文件,并没有代码段和_start函数,这是...

2018-07-11 22:21:02 4105 2

原创 IO多路转接之select

五种IO模型阻塞IO,在内核将数据准备好之前,系统会一直在等待,所有的套接字,默认都是阻塞方式非阻塞IO:如果内核还没有将数据准备好,系统会调用仍然直接返回,并且返回EWOULDBLOCK错误码,非阻塞IO需要程序员循环的方式反复尝试读写文件描述符,看数据是否准备好,这个过程称为轮询,,这对CPU来说是很大的浪费信号驱动IO:内核将数据准备好的时候,使用SIGIO信号通知应用程序进行IO...

2018-07-09 23:43:30 209

原创 正则表达式

grep工具grep是Linux中常用的文本过滤工具,按照关键字或者正则表达式进行过滤,它是按行匹配的,通常是Linux中处理文本的第一步。grep工具采用的是贪婪匹配,即:匹配当前行中所有的匹配内容。grep工具如果匹配到了,它的退出码是0,如果没有匹配到,它的退出码是1。选项-i 忽略大小写的不同-n 同时输出行号-v 反向选择,显示出没有'搜寻字符串'内容的一行-o ...

2018-07-08 10:37:46 483

原创 Shell基本语法练习

Shell脚本语法练习1. 计算1+2+3+4+…+100#!/bin/bashi=1sum=0while [ $i -le 100 ]do let sum+=i let i++doneecho $sum2. 计算1+2+3+4+…+100,并将执行过程打出#!/bin/bashi=1sum=0echostr=''while [ $i -le ...

2018-07-05 16:46:00 392

原创 Shell脚本中的$()和``及eval

1. ``和$()有什么区别?在shell脚本中,``和$()是用来完成命令替换的,先执行反引号或括号里面的内容,将结果代换到当前命令。 例如: 区别:对于转义字符的处理有些不同 ``中的转义没有成功,$()中\将$转义成普通字符``中两个\\将$转义成了普通字符,$()中\\的输出结果是\,和一般的转义结果一样$()中的转义字符和我们平时使用的是一样的,``中...

2018-07-04 17:27:43 6052

原创 Shell截取字符串

Shell脚本中截取字符串的方法一共有8种,分别如下:1.#*n截取,删除左起第一个n及其以左的字符, 2.##*n表示删除左起最后一个n及其以左的字符(n表示字符串中的某一个字符) 3.%n*截取,删除右起第一个n及其以右的字符, 4.%%n*表示删除右起最后一个n及其以右的字符 5.${str:n:m}表示截取,左起从第n个字符开始,共m个字符 6.${str:n}表...

2018-07-04 17:13:47 1705

转载 Word Ladder

LeetCode[127. Word Ladder] 题解 难度[medium] 题目: Given two words (beginWord and endWord), and a dictionary’s word list, find the length of shortest transformation sequence fromb...

2018-07-02 22:31:45 362 1

空空如也

空空如也

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

TA关注的人

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