自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟的博客

菜鸟学习阶段,如有不对的地方,希望多多交流学习

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

原创 旋转数组【力扣】

题目描述给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。输入输出示例输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]题目分析我的思路是采用翻转的方法,即:三次翻转将整个数组翻转翻转前k个翻转后k个nums = [1,2,3,4,5,

2021-02-09 18:16:11 122

原创 转换成小写字母【力扣】

题目描述实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。输入输出示例示例1:输入:HeLLo输出:hello示例2:输入:here输出:here题目分析将一个字符串中的的大写字母转换成小写字母,小写字母保持不变,输出新的字符串。大小写之间的转换用到的知识点是ASCII码。大写的A-Z的ASCII码是从65-90,小写的a-z的ASCII码是从97-122。所以大写转小写对应ASCII码+32

2021-02-09 16:22:50 149

原创 删除公共字符【牛客网】

题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。输入描述每个测试输入包含2个字符串输出描述输出删除后的字符串示例输入:They are students.aeiou输出:Thy r stdnts.题目分析本题可以采用Hashtable映射,将第二个字符串中的字符映射到Hashtable[256]这个数组中,记录第二个字符串中出现的字符。然后判断死一个字符串,如果不在就将该字符追加到一个新的字符串上,因为删除的话,效率比较低,而且数据还要进

2021-02-08 16:11:41 311

原创 组队竞赛【牛客网】

题目描述有3*n个比赛选手,每个选手水平值a_i,分队,每组三个人分n组,每个组的水平值等于组中队员第二高水平值输入描述:输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)第二行包括3*n个整数a_i(1 ≤ a_i ≤ 10^9),表示每个参赛选手的水平值.输出描述:输出一个整数表示所有队伍的水平值总和最大值.示例输入:25 2 8 5 1 5输出:10题目分析先将输入的选手的水平值进行排序:例:1 2 3 4 5 6最小的前n个对应每一组的最小的一个

2021-02-07 17:26:50 528 3

原创 位操作符、移位操作符的应用(剑指 15 二进制中1的个数)

位操作符& 按位与:遇0为0| 按位或:遇1为1^ 按位异或:相同为0,相异为1注:都是在二进制的情况下,且操作数都是整数移位操作符<< 左移操作符>> 右移操作符注:都是在二进制的情况下左移操作符左移:左边抛弃,右边补0num << 1,左移之后的值发生了变化,但是此时左移之后的值并没有赋值给num,所以num只剩的值并没有改变。int num = 9;num = num << 1;此时num的值就发生

2020-11-05 18:54:01 82

原创 自闭的一晚(剑指 10.1 斐波拉契数列)

今晚这简单的一道题算是把我给难倒了,递归进去直接运行超时,出不来了。然后考虑用迭代,结果脑子直接坏掉,搞不清关系,硬是瞎折腾,好在最后还是搞出来了。首先先来理解一下递归和迭代的基本概念递归...

2020-11-02 23:16:03 143

原创 简述STL

STL (standard template library)C++中提供的标准模板库通俗说法STL就是将常用的数据结构进行封装—>顺序表、链表、栈和队列二叉树、哈希等,然后再增加一些通用类型的算法—>find() 等通用:算法任意数据类型都可以处理,与具体的数据结构无关,而且算法还非常灵活。具体来说STL包含六大组件(模板)容器:本质就是对常见数据结构的封装迭代器算法:顺序表、链表、二叉树、哈希表、find() 等适配器/配接器空间配置器仿函数容器序列式容器---

2020-11-01 21:10:37 190 1

原创 函数模板主要内容

函数模板函数模板的概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。函数模板的格式template <typename T1, typename T2, ....... typename Tn>返回值类型 函数名(参数列表){} typename 也可以用class代替,两者是一样的。template <class T>void Add(T& lest, T& right){

2020-10-25 17:23:38 143

原创 内存泄漏

什么是内存泄漏内存泄漏:指因为疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并不是指内存在物理上消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏的危害长期运行的程序出现内存泄漏问题,影响很大,如操作系统、后台服务器等,出现内存泄漏会导致响应越来越慢,最终卡死。内存泄漏的分类堆内存泄漏堆内存指的是程序执行中根据需求分配通过malloc/ realloc/ new 等从堆中分配的一块内存,用完之后必须通过调用响应的free或delet

2020-10-21 22:43:32 82

原创 malloc/free与new/delete的不同之处

共同点malloc/free和new/delete都是在堆空间上申请空间,都需要用户手动释放空间不同点malloc/free 是函数,new/delete是操作符malloc申请空间不会初始化,new可以进行初始化malloc申请空间时需要手动计算空间的大小并传递,new只需要在其后面跟上空间类型名malloc返回值是void*类型,所以返回值必须进行强转;new不需要进行强转,后面只需要跟上类型名malloc申请失败返回的是一个NULL,必须进行判空;new不需要,但是会返回一个异常申请

2020-10-21 12:36:06 50

原创 C++中的动态内存管理(new/delete)

前言:在C语言中,我们开辟空间时,通常使用malloc、free 和 realloc 等进行空间开辟,在C++中,我们也可以使用C语言中的方法,但是有些地方就会比较麻烦,所以C++就提出了自己的内存管理方法:通过 new 和 delete 操作符来进行动态内存开辟管理。new/delete 操作内置类型void Test (){ //动态申请一个int类型的空间 int* ptr1 = new int ; // 动态申请一个int类型的空间并初始化为1 int* ptr2

2020-10-16 13:13:29 158

原创 简述C语言中的动态内存管理

目录为什么要进行动态内存管理动态内存开辟函数malloc和freecallocrealloc常见的动态内存错误为什么要进行动态内存管理普通常见的内存开辟的方法有:int val = 10;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述方法有两个不足之处:空间开辟的大小是一定的 数组在声明的时候,必须指定数组的长度,它所需要的内存在编译的时候分配有时候我们在开辟空间时,只有在程序运行的时候.

2020-10-14 11:23:08 541

原创 vs程序调试时断点的使用

VS程序调试时断点的使用断点的使用,有利于我们在对于较长复杂的程序进行部分功能的调试,原因是:程序在运行到断点时会自动停止,之后需手动进行调试,这样就有助于我们观察代码的运行,以下是我总结的断点的使用方法:1、如下图,左键点击你想要添加断点的代码行,出现红点说明添加成功2、F5运行程序(部分笔记本电脑Ctrl+F5 或者Ctrl+Fn+F5),会出现下面的情况,红点变成黄色箭头,说明程序运行在此处停止了3、此时F10(部分笔记本电脑会是Ctrl+F10)黄色箭头会继续向下运行,如果.

2020-09-28 22:59:37 7074

空空如也

空空如也

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

TA关注的人

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