自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试必考算法题!!!之 删除链表倒数第n个节点(中等)(C++)

题目描述给定一个链表,删除链表的倒数第n个节点并返回链表的头指针例如,给出的链表为:1->2->3->4->5, n= 2.删除了链表的倒数第n个节点之后,链表变为1->2->3->5.备注:题目保证n一定是有效的请给出请给出时间复杂度为\ O(n) O(n)的算法示例1:输入 {1,2},2输出 {2}思路:采用双指针,已经知道的是倒数的位置n,先让一个指针移动n个位置,然后另一个指针和该指针同时移动,他们之间的间距始终为n,当前面的指

2020-09-29 14:23:17 150

原创 面试必考真题!!反转数字(简单)

题目描述将给出的整数x翻转。例1:x=123,返回321例2:x=-123,返回-321你有思考过下面的这些问题么?如果整数的最后一位是0,那么输出应该是什么?比如10,100你注意到翻转后的整数可能溢出吗?假设输入是32位整数,则将翻转10000000003就会溢出,你该怎么处理这样的样例?抛出异常?这样做很好,但是如果不允许抛出异常呢?这样的话你必须重新设计函数(比如添加一个额外的参数)。示例1:输入 -123输出 -321这题相对来说比较简单,就直接上代码了。class S

2020-09-29 14:15:15 207

原创 leetcode NC78 反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头思路如下:我们可以设置一个空结点temp,一个node节点指向head的next节点,然后head指向空结点NULL,temp指向head,node变成下一个head节点,node指向此时head的下一个节点,如此循环即可。代码如下:(注意:这里的head是空节点,temp是node节点,名字取得不好,不要学我。。。)/** * struct ListNode { * int val; * struct ListNode *next;

2020-09-25 09:52:27 171

原创 Leetcode寻找第K大 NC88

题目描述:有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。测试样例:[1,3,5,2,2],5,3返回:2思路:先根据快排算法排序整个数组,然后直接输出第K个大的数,这里我采用了递归的的方法实现快排。代码如下:(有更好算法的可以教一下,谢谢)`在这里插入代码片`/** * * @param a int整型一维数组 * @param aLen int a数组长度 *

2020-09-24 21:07:58 163 1

原创 LInux进程控制01

进程基本概念:1、进程与程序程序就是存储在磁盘上的可执行文件,程序被加载到内存中开始运行叫进程。一个程序可以被多次加载生成多个进程,进程就是处于活动状态的计算机程序。2、进程的分类进程一般分为三种类型:交互进程、批处理进程、守护进程。守护进程一般都处于活跃状态,运行在后台,由于系统在开机时通过启动脚本自动创建的。3、查看进程简单形式:ps 显示当前用户有控制终端的进程信息。列表形式:ps auxw 显示进程详细信息a 所有用户的有控制终端的进程x 无终端控制的进程u 显示进程的详细信息

2020-08-25 20:04:07 229

原创 &&数据结构与算法02

&&数据结构与算法02链式表:元素的数据项:数据域:可以是各种类型的若干个数据项指针域:指向下一元素由若干个元素通过指针域连接在一起形成链式表。不带头节点:第一个元素的数据域存储的就是有效的数据。 插入删除时可以会修改头节点指针,参数需要使用二维指针。 同时需要获取到上一个节点的指针,而头节点没有上一个节点,因此需要额外处理。 带头节点:第一个元素不使用,仅仅是为了用它来指向下一元素。 进入插入、删除操作时会比不带头节点的链表方便。

2020-08-15 11:11:00 103

原创 &&数据结构与算法 01

&&数据结构与算法 01一、什么是数据结构1、数据结构的起源1968年,美国的高纳德教授开设了一门基本算法的课程,开创了数据结构的先河。数据结构是一门研究数据之间关系和操作的学科,而非是计算方法。数据结构+算法=程序 沃思凭借这名个论点,获得图灵奖,这句话展示出了程序的本质。2、数据结构的基本概念数据:所有能够输入到计算机中去描述事物的符号。数据项:有独立含义的数据最小单位,也叫域。数据元素:数据的基本单位也叫节点、记录。数据结构:数据元素和数据关系的集合。算法:数据结

2020-08-15 11:09:35 185

原创 C基础进制转换、补码反码以及函数的讲解

进制转换:十进制转二进制:求余法:用2对数据求余,然后再对商继续求余,直到商为0结束,过程中产生的余数就是该数据的二进制(逆序)。求权法:数据 - 2^(n-1) 如果可以减 第n位就是1,否则是0。二进制转十进制:每位的2^(n-1) 求和10101100 128+32+8+4 172注意:二进制数据转换成八或十六进制是为了方便记录二进制数据。二进制转八进制:三位二进制对应一个八进制。 二进制 1 010 110 010 101 100 八进制 1 2 6 2

2020-07-16 15:53:03 756

原创 C语言基础知识

一、数据类型为什么对数据进行分类:节约存储空间,提高运行速度。整型: signed signed char 1 -128~127 signed short 2 -32678~32767 signed int 4 正负20亿 signed long 4/8 正负20亿/9开头19位整数 signed long l

2020-07-09 09:50:16 295

原创 Linux基础知识(部分)包含思维导图

Linux基础知识Ubuntu系统使用的小技巧:Ctrl+l 清理屏幕clear命令功能一样。tab 自动补全命令或者文件名。up/down 调出命令执行记录。Ctrl+Alt+t 可以快速打开终端。Ctrl+Shift+t 新建终端标签页。Ctrl+Alt+方向 切换工作区。Alt+Tab 切换程序。重定向、管道、通配符:重定向:就把命令的执行结束写入到文件中cmd > file 如果文件存在则清空,如果文件不存在则新建。cmd >> file 如果文件存在则追加

2020-07-07 19:17:01 416

原创 C语言学习有感day01

C语言学习有感day01我是一名即将踏入大四的大学生,和许多其他同学一样也会对是否考研与直接就业产生困惑与纠结。基于我的专业,我选择了C方面的学习,今天是第一天学习的感悟。今天主要进行了编程环境的搭建,下面是我的一些笔,分享给大家。一、开发环境搭建1、安装虚拟机软件A、选择合适的版本开源免费VirtualBox 5.2.2VirtualBox 4.3.12B、安装注意事项Vir...

2019-11-16 20:17:36 368 2

原创 C语言数据结构与算法01

一、什么是数据结构1、数据结构的起源1968年,美国的高纳德教授开设了一门基本算法的课程,开创了数据结构的先河。数据结构是一门研究数据之间关系和操作的学科,而非是计算方法。数据结构+算法=程序 沃思凭借这名个论点,获得图灵奖,这句话展示出了程序的本质。2、数据结构的基本概念数据:所有能够输入到计算机中去描述事物的符号。数据项:有独立含义的数据最小单位,也叫域。数据元素:数据的基本单位也叫节点、记录。数据结构:数据元素和数据关系的集合。算法:数据结构所具备的功能,解决特定的问题的方法。3

2020-09-24 12:22:15 155

原创 C语言Linux环境编程01

UNIX系统介绍:最早版于1970年问世于贝尔实验室,作者是丹尼斯.里奇和肯.汤普逊。是最早的多用户、多任务、支持多种CPU架构,高安全性、高稳定性、高可靠性。既能构架大型关键性业务系统的商用服务器,也能支持嵌入式设备。MiniX基于微内核加载的类UNIX系统,名为MINIX(即小型的UNIX),并开放全部源代码给大学教学和研究工作,Linux之父林纳克斯,正是在受了MiniX的启发,才开发了Linux系统。Linux系统介绍:Linux,全称GNU/Linux,其内核由林纳斯·托瓦兹于199

2020-09-24 12:21:11 107

原创 Linux进程控制day02(进程间通信)

基本概念:什么是进程间通信: 是指两个或多个进程之间交互数据的过程,因为进程之间是相互独立,为了协同工作必须交互数据。进程间通信的分类:1、 简单的进程间通信:信号、文件、环境变量、命令行参数。2、传统的进程间通信:管道文件(有名管道、匿名管道)3、XSI进程间通信:共享内存、消息队列、信号量。4、网络进程间通信:套接字传统进程间通-管道管道是UNIX系统中最古老的进程间通信方式,古老就意味着所有系统都支持,早期的管道都是半双工,现在有些

2020-09-04 19:53:23 84

原创 在linux系统下如何上传项目到GitHub

一、创建仓库(在GitHub上进行)二、安装git1、sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettextlibz-dev libssl-dev2、sudo apt-get install git三、配置个人信息1、 git config --global user.name “用户名”2、 git config --global user.email “邮箱”四、生成密钥1、ssh-keygen -t rsa -C

2020-09-04 19:46:02 427

空空如也

空空如也

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

TA关注的人

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