自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 leetcode :5 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-subst...

2020-03-23 17:12:25 120

原创 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { * int val; *...

2019-09-25 23:17:11 130

原创 const修饰指针变量时的区分方法

char *constpContent;const(char*)pContent;constchar*pContent;charconst*pContent;constchar*constpContent;看const修饰的是指针指向的对象还是指针本身时,先看const左边(紧邻),如果左边没有再看右边(紧邻)。1.*在const的左...

2019-09-23 10:38:20 430

转载 memcpy和memmove的区别

void *memcpy(void *restrict s1, const void *restrict s2, size_t n);void *memmove(void *s1, const void *s2, size_t n);两者前者不考虑数据重叠后者考虑数据重叠数据重叠无非两种情况(src被拷贝的数据,dest被拷贝数据的目的地):1.src在前dest在后,且数据长...

2019-09-13 11:44:26 161

转载 c++数组有关的验证

int main(){ int a[] = { 1, 2, 3, 4 }; printf("%d\n", sizeof(a));//16-->sizeof(a)表示整个数组,计算整个数组大小,单位字节,这里a是整型数组,有四个元素,因此是16 printf("%d\n", sizeof(a + 0));//4-->a+0表示数组首元素的地址,即“1”的地址...

2019-09-13 11:22:33 130

原创 基于HTTP协议的局域网文件下载工具

基于HTTP协议的局域网文件下载工具项目背景在学习完计算机网络这门课程后,我想通过一个实践性的项目完善和巩固自己对于HTTP协议的通信流程的认识,而HTTP协议正好很适合进行小文件的传输,所以萌发了做一个基于HTTP协议的局域网文件下载工具的想法项目开发平台和工具centos 7.0vimboolst功能局域网附近主机发现主机共享文件获取共享文件下载项目模块服务端流程...

2019-08-12 14:22:25 1369

原创 发邮件——c++解法,个人思路

链接:https://www.nowcoder.com/questionTerminal/95e35e7f6ad34821bc2958e37c08918b?orderByHotValue=2&page=1&onlyReference=false来源:牛客网发邮件NowCoder每天要给很多人发邮件。有一天他发现发错了邮件,把发给A的邮件发给了B,把发给B的邮件发给了A。于...

2019-07-27 14:51:02 350

原创 VS2019崩溃问题;devenv.exe[4108]中发生未处理的Microsoft .NET Framework异常

直接打开VS2019会直接报错解决方法:通过已有的工程的.provj 文件打开已有vs工程可以进到VS2019里面并且不会崩溃; 再工具菜单->导入导出设置->重置所有设置->下一步,重置设置即可。...

2019-07-20 09:56:13 5308 1

原创 牛客网——年会抽奖

链接:https://www.nowcoder.com/questionTerminal/610e6c0387a0401fb96675f58cda8559?toCommentId=25418来源:牛客网今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:1. 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;2. 待所有字条加入完毕,每人从箱中取一个字条;3. 如果抽到的字条上写...

2019-07-14 11:31:13 438

原创 堆排序

堆排序堆排序分为两个部分:建堆(堆的初始化); 调整排序(交换首位,长度减一,调整);堆的定义(百度百科) 堆中某个节点的值总是不大于或不小于其父节点的值(不大于父节点--大堆▼,不小于父节点--小堆▲); 堆总是一棵完全二叉树。 首先要明确一点排序从小到大要建立大堆▼,排序从大到小要建立小堆▲。why?大堆的根节点是整个堆中最大的,小堆的根节点是整个堆...

2019-06-28 16:47:46 116

转载 网路基础3

上节回顾传输层负责端与端之间的数据传输:tcp/udptcp传输控制协议–面向连接,可靠传输,面向字节流tcp连接管理服务端:客户端:可靠传输面向连接/确认应答机制/超时重传机制/序号/确认序号/校验和tcp面向字节流特性:传输灵活、缺点:tcp粘包问题—传输层的tcp协议栈对数据没有明确边界划分因为在传输层每条数据之间没有明确的边界划分,因此需要用户在应用层做出边界...

2019-06-13 15:03:02 211

翻译 rand()和Knuth shuffle算法

产生整数rand的原理是: y=(ax+b)(mod n)。其中n一般是一个很大的素数(几万)。a也是大素数,而且a,b,n都是常数。所以rand的产生决定于x,他被称seed。每一个seed都是上一次产生的y的函数。这样,如果直接取seed=y的话,虽然产生的rand之间相关性甚小,但只要知道某个y,就能推知以后的rand。为避免这种情况,一般取seed为y和当时计算机...

2019-06-02 18:42:00 834

原创 STL之string的简单实现---(String)

废话不说了上代码String.h#pragma once#pragma warning(disable:4996)//去除vs编译器scanf函数报错#include<iostream>#include<cstring>#include<algorithm>#include<assert.h>using namespace st...

2019-06-02 18:40:27 297

原创 实现一个只能在栈(堆)上生成对象的类,及单例模式饿汉,懒汉

栈上:class stack_class {public: stack_class(){} ~stack_class(){}private: void* operator new(size_t n) { } void operator delete(void * ptr) { }};堆上:class heap_class {public: static ...

2019-05-27 15:41:35 167

原创 网络编程基础11111111

网络编程–套接字IP地址 IPV4:uint32_t--43亿左右--在网络上唯一标识一台主机 IPV6:uchar ip[16]--因为不向前兼容IPV4因此没有推广起来 DHCP:动态地址分配技术--动态分配ip地址(谁上网给谁分配IP地址) NAT:地址替换--实现多人使用同一地址上网二进制数字不好记忆,使用2-》10 的进制转换来方便记忆每条数据都会...

2019-05-16 23:06:49 90

原创 线程和进程的小结(未完待续)

进程与线程关系:进程程序的一次运行实例,是cpu等硬件资源分配的最小单位线程是进程中执行运算的最小单位一个进程可以有多个线程一个线程只属于一个进程线程是一种轻量级进程,与进程相比线程的操作给操作系统带来的创建、维护、管理的负担要轻,即线程的代价或开销比较小线程的缺点性能损失健壮性降低缺乏访问控制编程难度提高线程控制线程创建线程终止线程等待线程分离:-----在任意一...

2019-05-16 21:09:41 89

原创 日期类的c++语言实现

Date.h #pragma once #include<iostream> using std::cout; using std::endl; typedef int TimeType; class Date { public: int GetReYearNum(TimeType year1, TimeType year2...

2019-05-15 16:01:02 113

翻译 初学栈帧

1.栈栈是一种特殊的数据。(与队列相反的存储方式和操作方式),即是一种只能在一端进行插入和删除操作的特殊线性表。(引用他人言论) 它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。 栈有很多自己的特性,它具有记忆功能,对栈的插入与删除操作中,不需要改变栈底指针;而且栈是从高地址向低地址延...

2019-05-15 15:47:54 105

翻译 I/O关于文件描述符和文件流指针

I/O关于文件描述符和文件流指针标准库IO接口: fopen fwrite fread fseek fclose系统调用IO接口: open write read lseek close open –flag: O_RDONLY O_WRONLY O_RDWR O_CREAT O_APPENO文件描述符:进程通过struct file 结构...

2019-05-15 15:46:36 383

原创 进程概念

进程调度算法在操作系统中,用户进程一般都多于处理器数目,因此将导致他们相互争夺cpu资源进程调度算法就是按一定的策略,动态的cpu资源分配给处于就绪队列中的某一个进程使之运行进程调度任务保存当前进程的现场信息根据算法条件选取进程将处理器分配给进程先来先服务调度算法按照进程的进入就绪状态的队列先后次序,分派cpu资源(非抢占式)当前进程执行完毕或者阻塞,让出cpu资源F...

2019-05-15 15:45:01 195

原创 第一个错误的版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有n个版本[1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号version是否在单元测...

2019-05-15 00:14:18 111

原创 LeetCode : 48. 旋转图像

给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3...

2019-04-13 00:49:12 109

转载 就当做资料整理吧,编译器,编辑器,-g,等

- 自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.1.Sublime Text2.Atom3.Notepad++4. Emacs5. Brackets6. UltraEdit十年来最为出色的文本编辑器。闭源项目,提供免费评估版本,完整版本价格为79.95美元起。多符号编辑...

2019-04-09 21:22:11 166

翻译 Linux_基础命令

划重点--------------------------------------------------------------------标识符文件类型-普通文件ssocket套接字lsocket套接字p管道c字符设备b块设备进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文...

2019-04-06 17:55:33 177

翻译 I/O关于文件描述符和文件流指针

标准库IO接口:fopen fwrite fread fseek fclose系统调用IO接口:open write read lseek closeopen –flag:O_RDONLY O_WRONLY O_RDWR O_CREAT O_APPENO文件描述符:进程通过struct file 结构体来描述打开的文件—使用了struct file*fd——array[]。...

2019-04-06 00:34:08 686 1

翻译 简单的git上传不上去解决方案

git init //恩很重要1、 在github上创建项目2、 使用$ git clone https://github/xx账号/xx项目.git克隆到本地3、 编辑项目4、 $ git add .(将改动添加到暂存区)5、 $ git commit –m”提交说明”6、 $ git push origin 将本地更改推送到远程master分支配置了什么的我是看这个的...

2019-03-26 22:57:07 1604

原创 介绍

在读大三的未来程序猿一枚 编出好代码,编出中国,编向国际。我的目标是星辰大海。 好好学习 除了上课吃饭睡觉打游戏 待遇好就行,自己开的更好...

2019-03-11 17:20:37 158

原创 关于平衡二叉树的检验问题的方法概述

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回true。示例 2:给定二叉树[1,2,2,3,3,null,null...

2019-03-06 14:45:01 229

原创 对于加一问题的思考

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321...

2019-03-03 21:55:49 197

原创 领扣 206. 反转链表

反转一个单链表。示例:输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?递归方法/** * Definition for singly-linked list. * struct ListNode { ...

2018-12-05 22:49:13 149

原创 求特殊方程的正整数解

求特殊方程的正整数解 本题要求对任意给定的正整数N,求方程X​2​​+Y​2​​=N的全部正整数解。输入格式:输入在一行中给出正整数N(≤10000)。输出格式:输出方程X​2​​+Y​2​​=N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution。输入样例1:884输出样例1:10 ...

2018-10-15 22:48:07 389

原创 打印九九口诀表

打印九九口诀表 下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=3...

2018-10-15 22:30:16 13682 3

原创 支票面额

 支票面额 一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数n。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。 输入样例1:23输出样例1:25.51输入样...

2018-10-15 22:16:50 115

原创 对于android的按键页面切换的注意事项

&lt;application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" ...

2018-10-10 22:54:26 137

原创 关于abd.exe 报错的解决方法总结

这种错误的原因一般是由于手机端口被占用,简单来说就是电脑上有手机助手一类的进程在运行在运行里输入cmd,打开命令行工具,使用netstat -aon|findstr 5037查看adb.exe的5037端口是否被占用。解决方法:win7 :在运行里输入cmd,打开命令行工具    使用netstat -aon|findstr 5037查看adb.exe的5037端口是否被占用 ...

2018-10-10 17:13:19 3109

原创 关于android studio打开后自动弹出:Error:Execution failed for task ':app:preDebugAndroidTestBuild'

&gt; Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. 解决方法:单击Build,点击ReBuild Project...

2018-10-09 21:42:44 92

原创 一段程序错误的思考

废话要少,变量要少,现用变量,现定义声明。全局变量能不用尽量不用,能用局部变量代替的全局变量,就用局部变量代替。

2018-05-23 22:54:12 107

原创 逆转链表

逆转链表,一个很简单题目,其主要目的是将链表头至链表尾依次调换方向。链表示意图12345  逆转链表步骤表步骤变量LQP01NULLNULL121NULL2321343245435NULL54   List Reverse( List L ){  List P,Q;  P=NULL;  Q=NULL;  while(L!=NULL)  {      P=Q;    Q=L;    L=Q-&gt;...

2018-05-22 22:37:25 130

转载 一个不能继承的类

从http://www.cnblogs.com/Braveliu/archive/2013/01/03/2842739.html转载一道笔试题的思考:记得,找工作时,遇到了这样的一道笔试题。记不清是那个公司的笔试题,反正觉得自己当时还真费了一点功夫的,但是也就搞定了一部分,结果还是被另一部分给鄙视啦!现在静下来分析实现如下:题目:用C++设计一个不能被继承的

2017-10-08 12:58:11 203

原创 c++继承与派生

㈠ 继承的有关概念1.继承是面向对象程序设计思想最重要的概念之一,其主要作用是提高软件的可重用性和可维护性。在C++中,实现继承的机制是通过派生得到的,原类(被继承的类)称为基类,在基类的基础上创建的新类称为派生类。2.继承具有层次结构,越在上面的类越具有普通性和共性,而下层类比上层类更具体,越在下层的类越细化、专门化;同时,继承具有传递性,即派生类能自动继承上层基类的全部数据结构及操作方

2017-10-08 11:50:22 270

贪吃蛇源代码

这是我自己编写的一个贪吃蛇代码,用的是c++语言用到了链表

2018-10-15

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

TA关注的人

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