![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 72
IE猫
这个作者很懒,什么都没留下…
展开
-
C++数组和数组名问题(指针、解引用)
数组和数组名问题一、指针1.1 指针变量和普通变量的区别1.2 为什么需要指针1.3 指针使用三部曲二、整形、浮点型数组前言2.1 数组名其实是特殊的指针2.2 理解复杂的数组的声明2.3 数组名a、数组名取地址&a、数组首元素地址&a[0]、指向数组首元素的指针*p2.3 对数组名以及取值符&的理解三、字符数组数组名三级目录一、指针1.1 指针变量和普通变量的区别指针:指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的应该叫指针变量,简称为指针。 是指向的意思。原创 2021-09-16 22:41:31 · 1458 阅读 · 0 评论 -
剑指offer 04 二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。思路示例1输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,1原创 2021-07-28 16:13:39 · 137 阅读 · 0 评论 -
剑指offer 06从尾到头打印链表
题目描述输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 1000。示例1输入:{1,2,3}返回值:[3,2,1]示例2输入:{67,0,24,58}返回值:[58,24,0,67]思路从头访问结点数据,放入vector容器中,并翻转输出时间:O(n)O(n)O(n); 空间:O(1)O(1)O(1)/** * struct ListNode原创 2021-07-28 09:21:36 · 182 阅读 · 0 评论 -
剑指offer 05 替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。示例一:输入:"We Are Happy"返回值:"We%20Are%20Happy"思路题外话:这本来很简单的题,被我自己弄混了,导致花了2个小时,总是想偏。总结自己一个坏毛病:老是喜欢直接上手题目,而不是静下心来分析分析题目的,整理思绪,总是走一步看一步,特此紧记。题路简单所以很容易想到遍历替换的问题,首先我想到的是空间原创 2021-07-27 17:17:36 · 110 阅读 · 0 评论 -
剑指offe 42 连续子树组中的最大和
题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).示例1输入:[1,-2,3,10,-4,7,2,-5]返回值:18说明:输入的数组为{1,-2,3,10,—4,7,2,一5},和最大的子数组为{3,10,一4,7,2}, 因此输出为该子数组的和 18。 思路看到求最大前n项和。最直接的最暴力的方法就是遍历全部子数组和并且一一比较大小。显然这样做回导致复杂度为O(n2)O(n^2)O(n原创 2021-07-27 10:01:58 · 76 阅读 · 0 评论 -
剑指offer 11 旋转数组的最小数字
题目表述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。示例1输入:[3,4,5,1,2]返回值:1示例2输入:[2,2,2,0,1]输出:0题外话前天做了几组腿部动作,想的是把大腿瘦下去,腿部力量加上来,这样打羽毛球移动快一点。结果我的天,上下楼都是问题。昨天又跑了10圈大约4公里左右。本来以为身心俱疲,结果反而今天特别精神。果然运动能让人提神醒原创 2021-07-26 16:26:17 · 61 阅读 · 0 评论 -
Leetcode刷题1(C++) 两数之和
题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:```cpp输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2原创 2021-07-25 09:39:15 · 84 阅读 · 0 评论 -
数据结构与算法(陈越版)第五讲 (树下)树的应用——哈夫曼树与哈夫曼编码
数据结构与算法(陈越版)第五讲 (树下)树的应用——哈夫曼树与哈夫曼编码一、问题的提出二、哈夫曼树的定义三、哈夫曼树的构造四、哈夫曼树的特点五、最小堆实现哈夫曼树六、哈夫曼编码一、问题的提出在区分成绩的程序中,需要多次判断输入的学生成绩的分数。如下图:假如考虑学生成绩的分布情况,包括真实情况都是:分数特别高和特别低的都是少数,它们本应少判断几次,但是最后score < 90会多判断几次。根据节点不同的查找频率构造更有效的搜索树通过先判断数量级较大的(这样可以少比较几次),可以降低查找效原创 2021-07-06 17:28:07 · 563 阅读 · 1 评论 -
数据结构与算法(陈越版)第五讲 (树下)树的应用——集合及其运算
数据结构与算法(陈越版)第五讲 (树下)树的应用——集合及其运算一、集合的表示1.1、集合的表示1.2、集合的储存二、集合的运算2.1查找以及普通并2.2按照秩的合并算法2.3路径压缩优化三级目录一、集合的表示集合是一种常见的数据表示方式。集合的运算包括交,并,补,差以及判定一个数据是否是某个集合的元素。为了解决上述问题就需要用到集合,准确的说是集合的运算,因此就需要合理的进行集合的表示,既然要对集合表示那就需要考虑集合存储实现。1.1、集合的表示为了有效地对集合执行各种操作,可以用树结构表示集原创 2021-07-01 21:09:45 · 401 阅读 · 0 评论 -
数据结构与算法(陈越版)第四讲 (树中)二叉搜索树
二叉搜索树一、定义二、性质三、二叉搜索树的操作1、二叉搜索树的动态查找1.1、查找最大元素1.2 查找最小元素2、二叉搜索树的插入3、二叉搜索树的删除四、代码实现二叉搜索树一、定义二叉搜索树(Binary Search Tree)也叫做二叉排序树或者二叉查找树,一般简写为:BST。二、性质一个二叉搜索树是一个二叉树,可以为空。如果不为空,那么它包含以下性质:[1] 非空左子树的所有键值小于其根节点的键值[2] 非空右子树的所有键值大于其根节点的键值[3] 左右子树都是二叉树三、二叉搜索原创 2021-06-22 22:02:48 · 224 阅读 · 2 评论