jjzjj

数据结构之二叉树与堆以及力扣刷题函数扩展

个人主页:点我进入主页专栏分类:C语言初阶    C语言程序设计————KTV    C语言小游戏   C语言进阶C语言刷题    数据结构初阶欢迎大家点赞,评论,收藏。一起努力目录1.前言2.树2.1概念 2.2树的相关概念3.堆3.1堆的概念3.2小堆函数实现4.力扣刷题函数5.总结1.前言    在前面我们学习了关于顺序表,链表,栈,队列的存储方式。今天我将给大家带来关于树的一些内容以及堆的部分内容,详细包括树的定义,树相关的概念,二叉树和满二叉树的概念,树代码的实现会在后面的内容,大堆和小堆的代码实现。今天的内容相较于前面会有一点难以理解,希望大家可以认真学习,当然还有几个力扣刷题的函

C/C++数据结构之时间复杂度和空间复杂度详细解析以及力扣刷题

个人主页:点我进入主页专栏分类:C语言初阶    C语言程序设计————KTV    C语言小游戏   C语言进阶C语言刷题    数据结构初阶欢迎大家点赞,评论,收藏。一起努力,一起奔赴大厂。目录 1.前言2.算法的效率2.1时间复杂度 2.1.1时间复杂度的定义2.1.2时间复杂度的表示方法 2.1.3程序的时间复杂度的例子 2.2空间复杂度3.练习 3.13.2 1.前言    在前面我们学过了C语言的初阶和进阶的内容,其中有很多有意思的东西,接下俩我们开始上强度,进入我们的数据结构环节,今天主要讲解的是时间复杂度和空间复杂度,我们主要通过定义的解析,实际例子的解析来讲解,最后还会讲解一

力扣刷题笔记-08 字符串转整数

08字符串转整数属于对字符串进行操作的问题百无一用是情深问题字符串里有数字,空格,正负号等,需要先过滤出来在这道题目里,我们通常考虑字符串的组合是“空格+正负号+数字”,一开始我想可能是“正负号+空格+数字”,但是这样的组合根本不可能是数字啊,没什么意义。循环条件for循环字符串去除空格之后的length起始位置取决于字符串有没有正负号思路去掉空格,判断长度判断有没有正负号,决定startIndex从0还是1开始遍历数字,拼接成整数:res=res*10+temp,类似于上面的整数反转返回的时候把sign加上codepublicintmyAtoi(Strings){s=s.trim();//判

力扣刷题笔记-07 整数反转

07整数反转狗看了都摇头的年纪,纯爱战士一败涂地。怎么反转temp用来保存个位数res用来保存当前结果123,取模运算,这样就可以获得最后一位。比如对123%10,得到temp=3.判断res是不是溢出(重点)如果没有溢出,res扩大十倍,再加上个位数,就相当于是反转了。res=res*10+temp;返回res。循环条件while(x!=0)溢出问题(关键问题)题目给定的是有符号的整数,长度是32位。就是32个二进制字符表示的数字,比如32个1这样的。我们并不是判断到最后的结果才能进行的。在每一趟循环的最后,我们把当前结果乘以10,然后加上前面取模运算得到的原来数字的最后一位,这时候是一次完

【第八章】 C语言之牛客网&力扣刷题笔记 【点进来保证让知识充实你一整天】

💕全网最火特辑💕第八章C语言之牛客网刷题📖笔记【✨点进来保证让知识充实你一整天】作者介绍:🎓作者:热爱编程不起眼的小人物🐐🔎作者的Gitee:代码仓库📌系列文章推荐:1.【第一章】C语言之牛客网刷题笔记【点进来保证让知识充实你一整天】2.【第二章】C语言之牛客网刷题笔记【点进来保证让知识充实你一整天】3.【第三章】C语言之牛客网刷题笔记【点进来保证让知识充实你一整天】4.【第四章】C语言之牛客网刷题笔记【点进来保证让知识充实你一整天】5.【第五章】C语言之牛客网刷题笔记【点进来保证让知识充实你一整天】6.【第六章】C语言之牛客&力扣刷题笔记【点进来保证让知识充实你一整天】7.第七章】C语言之牛

力扣刷题笔记-06 N字形变换

06N字形变换不要混日子,小心日子把你混了对于题目的理解比如说,我给一个字符串,LEETCODE,行数为3,然后按照N字形排列,就是下面这个排列方式。排列完之后正常读取,结果就是LCETOEED。这叫做N字形变换。这个例子里给的行数就是3,往下排三行,然后往右往上走。chatGPT思路边界情况/特殊情况:就给一行,或者给的行数和字符串的长度是一样的,那么就直接返回原来的字符串创建一个长度为numRows的字符数组rows,用于存储每行的字符。。。没抄完,但是我已经理解了。我的理解:准备一个数组,类型是StringBuilder,StringBuilder[]rows=newStringBuil

数据结构:力扣刷题

题一:旋转数组给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 思路一:创建reverse()函数传入三个值分别为数组地址,从第几个数组元素开始,结束元素位置;在reverse()函数中实现颠倒,swap()函数实现交换。先将数组分为两部分0--(k-1)和k--(sz-1),然后分别旋转;//交换位置voidswap(int*a,int*b){intt=*a;*a=*b,*b=t;}//实现颠倒voidreverse(int*nums,intstart,intend){while(start思路二:如图:voidrotate(int*nums,intnum

数据结构:力扣刷题

题一:删除有序数组中的重复项 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 。思路一:暴力求解,直接定义一个int类型取不到的数,让这个数去判断与其他的数是否相同,相同不理会,不相同赋值到【left

【力扣刷题 | 第十六题】

目录前言:198.打家劫舍-力扣(LeetCode)213.打家劫舍II-力扣(LeetCode) 总结:前言:我们今天继续刷动态规划的题,希望大家可以和我一起坚持下去。198.打家劫舍-力扣(LeetCode)你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。 解题思路:我们要先快速确定出这道题的解题方向,我们读题后发现:当前房间偷不偷,取决于它前一个房间有

【力扣刷题 | 第十五天】

目录前言: ​​​​​​​63.不同路径II-力扣(LeetCode)343.整数拆分-力扣(LeetCode)总结:前言:    本篇我们主要刷动态规划的题,解题还是严格按照我们在【夜深人静写算法】栏目下的解题步骤,大家如果没学过动态规划的可以先看看我写的动态规划文章介绍。【夜深人静学数据结构与算法|第十篇】动态规划_我是一盘牛肉的博客-CSDN博客  ​​​​​​​63.不同路径II-力扣(LeetCode)一个机器人位于一个 m* n 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在