自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

番茄都是西红柿

程序媛小白

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

原创 什么是死锁?死锁产生的原因?如何避免死锁?

一、什么是死锁?如果一个进程集合里面的每个进程都在等待这个集合中的其他一个进程(包括自身)才能继续往下执行,若无外力他们将无法推进,这种情况就是死锁,处于死锁状态的进程称为死锁进程。二、死锁产生的原因?1.因竞争资源发生死锁现象:系统中供多个进程共享的资源的数目不足以满足全部进程的需要时,就会引起对诸资源的竞争而发生死锁现象;(1)可剥夺资源和不可剥夺资源:可剥夺资源是指某进程在获得该类资...

2018-10-23 01:20:19 4076

转载 Makefile详解

**makefile很重要什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会...

2018-10-04 15:38:53 837

原创 变态跳台阶问题(C++)

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。方法一(但是内存超出限制):class Solution {public: int jumpFloorII(int number) { if(number==0||number==1) return 1; i...

2018-09-20 00:54:34 1665 1

原创 跳台阶问题(C++)

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。class Solution {public: int jumpFloor(int number) { int n1=1; int n2=2; number--; while(number--)...

2018-09-20 00:38:05 1981

原创 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39class Solution {public: int Fibonacci(int n) { if(n==0) return 0; if(n==1) return 1; ...

2018-09-20 00:27:35 227

原创 旋转数组的最小数组

题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。class Solution {public: int minNumberInRotateArray...

2018-09-20 00:14:06 177

原创 用两个栈实现一个队列(C++)

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty()) { in...

2018-09-19 23:46:54 571

原创 Linux操作系统下webbench的安装和简单使用

Webbench:是有名的网站压力测试工具,它是由 Lionbridge公司开发。Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准 静态页面的测试能力,还能对 动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支...

2018-09-18 00:21:33 807

原创 判断二叉树是否是平衡二叉树(C++)

输入一棵二叉树,判断该二叉树是否是平衡二叉树。class Solution {public: bool IsBalanced_Solution(TreeNode* pRoot) { if(pRoot==NULL) return true; int rightDepth=getDepth(pRoot->right); ...

2018-09-14 18:53:20 1992

原创 求二叉树深度

题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 代码:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x...

2018-09-13 10:37:29 240

转载 GET和POST区别

一、原理区别 一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。 HTTP定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求不会产生什么动作。不会产生动作意味着GET...

2018-09-07 00:40:32 19876 1

原创 C语言小项目--打地鼠

#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ int times = 0;//打老鼠的次数 int i;//循环打老鼠的变量 int mousex = 0;//老鼠的x轴坐标 int mousey = 0;//老鼠的y轴坐标 i...

2018-09-01 21:20:50 2744 1

原创 C语言小项目--飞机大战

#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>#define N 35#pragma warning(disable: 4996)int str[22][N] = { 0 }, plane = 9, width = 24, speed ...

2018-09-01 21:15:51 6387 2

原创 C语言小项目--模拟计算器

编译环境vc6.0#include <stdio.h> #include <math.h> #include <stdlib.h> //预处理指令int main(void){ double bNumber, Number, Result; //给加减乘除定义的变量 int No; ...

2018-09-01 21:10:19 4031

原创 C语言小项目--五子棋

#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <string.h>#define MAXIMUS 15 //定义棋盘大小int p[MAXIMUS][MAXIMUS];//存储对局信息char buff[MAXIMUS * 2 + 1][MAXIMUS * ...

2018-09-01 21:05:42 651

原创 C语言小项目--学生管理系统

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>//结构体类型名可以产生-》变量、指针=》访问成员typedef struct student//定义学生的资料{ char name[10]; //姓名=...

2018-09-01 20:55:33 1347

原创 C语言小项目之猜数字游戏

实现一个猜拳小游戏,让CPU来猜测你内心定下的一个数字。猜测的数字范围是1~100,采用二分搜索策略来猜测,且CPU最初猜测的数字是50。比如,如果CPU猜测的数字小了,那么就在50~100之间再猜一个数字,如果猜测的数字大了,那么就在1~50之间猜测一个数字,依次类推。题目及思路分析 从题述来看,有如下几个关键点需要思考,以及这些关键点对应的解决思路如下:关键点1.获取用户的输入,你...

2018-09-01 20:48:08 695

原创 C语言小项目之贪吃蛇

问题描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 ...

2018-08-30 17:50:20 657

原创 shell脚本打印第十行

给定一个文本文件 file.txt,请只打印这个文件中的第十行。示例:假设 file.txt 有如下内容:Line 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 10你的脚本应当显示第十行:Line 10 说明: 1. 如果文件少于十行,你应当输出什么? 2. 至少有三种不同的解法,请尝试...

2018-08-23 19:33:17 3880

原创 转置文件

给定一个文件 file.txt,转置它的内容。你可以假设每行列数相同,并且每个字段由 ’ ’ 分隔.示例:假设 file.txt 文件内容如下:name agealice 21ryan 30应当输出:name alice ryanage 21 30使用awk像数组一样处理文本,NF显示每行的字段数(列数),NR(显示行数,从1开始)awk中的for,i...

2018-08-23 19:23:07 720

原创 有效电话号码

给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设 file.txt 内容如下:987-123-4567 123 456 78...

2018-08-23 18:48:38 4057

原创 LeetCode191.统计词频

写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可以假设: words.txt只包括小写字母和 ’ ’ 。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。 示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序...

2018-08-23 17:45:55 441

原创 LeetCode106. 从中序与后序遍历序列构造二叉树

根据一棵树的中序遍历与后序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7中序遍历:访问根结点 根节点的左结点进行中序遍历根结点...

2018-08-23 00:27:37 353

原创 LeetCode182. 查找重复的电子邮箱

问题描述:编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。 示例:+----+---------+| Id | Email |+----+---------+| 1 | [email protected] || 2 | [email protected] || 3 | [email protected] |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+...

2018-08-19 17:19:00 470

原创 LeetCode2. 两数相加

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807public ListNode...

2018-08-19 16:46:50 126

原创 LeetCode1. 两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 方法一(暴力解决):class Solution {public: ve...

2018-08-19 00:28:05 151

原创 LeetCode832. 翻转图像

给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。 水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0,0...

2018-08-18 18:28:57 448

原创 C++中vector的基本用法

在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout<#include<stdio.h>#include<algorithm>#incl

2018-08-17 17:29:42 411

原创 LeetCode595. 大的国家

这里有张 World 表+-----------------+------------+------------+--------------+---------------+| name | continent | area | population | gdp |+-----------------+-----------...

2018-08-17 16:42:03 180

原创 LeetCode709. 转换成小写字母

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。 Example 1:Input: “Hello” Output: “hello” Example 2:Input: “here” Output: “here”class Solution {public: string toLowe...

2018-08-17 16:20:59 168

原创 LeetCode695. 岛屿的最大面积(深度优先DFS和广度优先BFS算法 )

给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1: [[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0]...

2018-08-16 11:47:24 1696

原创 LeetCode:771. 宝石与石头

问题描述:给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此”a”和”A”是不同类型的石头。 示例 1: 输入: J = “aA”, S = “aAAbbbb” 输出:3示例 2: 输入: J ...

2018-08-16 10:45:37 208

转载 C++中多态和虚表详解

多态多态的这个概念稍微有点模糊,如果想在一开始就想用清晰用语言描述它,让读者能够明白,似乎不太现实,所以我们先看如下代码:例1 #include <iostream> using namespace std; class Vehicle { public: Vehicle(float speed,int total) ...

2018-08-13 11:35:32 910

原创 用C/C++语言测试函数运行时间多种方法详解

目前,存在着各种计时函数,一般的处理都是先调用计时函数,记下当前时间tstart,然后处理一段程序,再调用计时函数,记下处理后的时间tend,再tend和tstart做差,就可以得到程序的执行时间,但是各种计时函数的精度不一样.下面对各种计时函数,做些简单记录.void foo(){ long i; for (i=0;i<100000000;i++) { ...

2018-08-13 08:50:57 862

原创 C语言—商品销售系统

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> //头文件#include<string.h> //头文件#include<stdlib.h> //头文件#define M 100 //货物种类#define N 100 //顾客数目struct goods //...

2018-08-09 12:35:12 3340 1

原创 链表面试题—反转链表

Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL Follow up: A linked list can be rever

2018-08-08 14:44:50 231

原创 赋值运算符函数

题目: 如下为类型CMyString的声明,请为该类型添加赋值运算符函数:class CMyString{public: CMyString(char* p_Data = NULL); CMyString(const CMyString& str); ~CMyString(void);private: char* m_pData;};首...

2018-08-07 11:00:59 3631

原创 继承与静态成员

父类的static变量和函数在派生类中依然可用,但是受访问性控制(比如,父类的private域中的就不可访问),而且对static变量来说,派生类和父类中的static变量是共用空间的,这点在利用static变量进行引用计数的时候要特别注意。 static函数没有“虚函数”一说。因为static函数实际上是“加上了访问控制的全局函数”,而全局函没有虚函数。派生类的friend函数可以访问...

2018-08-06 20:14:33 326

原创 如何解决友元中无法继承的问题

友元声明friend class是无法继承的。举例说明:class A声明class B为其友元类,也就是说class A授予class B访问class A的所有包括私有成员在内的所有成员。如果class C 继承class B.那么class C是不具备这种特权的。 但是如果我想在class C中访问class A的某个私有或者保护成员函数怎么办? 我们可以把工作交给父类。#inclu...

2018-08-06 17:10:25 810

原创 C++实现一个复数类

#include <iostream>#include<stdlib.h>using namespace std;class Complex{public: Complex(double real, double image); Complex operator + (const Complex &c); Complex opera...

2018-08-06 16:48:39 1185

空空如也

空空如也

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

TA关注的人

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