Latest

【数据结构-初阶】顺序表相关习题

【数据结构-初阶】顺序表相关习题

🎈主页传送门:良木生香 🔥个人专栏:《C语言》 《数据结构-初阶》 《程序设计》 🌟人为善,福随未至,祸已远行;人为恶,祸虽未至,福已远离 上期回顾:在上一篇文章中(【数据结构-初阶】详解线性表(1)---顺序表),我们详细介绍了线性表系列第一种数据结构---顺序表,这个数据结构是以数组为底建立的,也学习了如何用线性表进行增删查改的操作,那么我们今天就用顺序表进行解题~~~   题目一:移除元素 这是题目链接:27.移除元素,下面是具体的题目与示例: 由题意知,这道题是想让我们将数组中值为val的元素删除,我们能怎么做呢? 创建新的数组?那不行,题目已经要求我们只能在原地进行操作了,就意味着不能创建新的数组来进行辅助 那该怎么办呢?简单,我们只需用上算法中最基础的---双指针算法了 我们用双指针,不一定用真的指针指向某个元素,有时也可以用下标,讲究的是一种算法思想,并没有一定的形式 我们用两个指针,刚开始都同事之下那个num数组的第一个元素,随后将其中一个指针用于遍历数组,如果两个指针指向的内容不相同,那就将内容进行交换,两个指针同时向后移动一位;如果相同

By Ne0inhk
【贪心算法】day9

【贪心算法】day9

📝前言说明: * 本专栏主要记录本人的贪心算法学习以及LeetCode刷题记录,按专题划分 * 每题主要记录:(1)本人解法 + 本人屎山代码;(2)优质解法 + 优质代码;(3)精益求精,更好的解法和独特的思想(如果有的话);(4)贪心策略正确性的 “证明” * 文章中的理解仅为个人理解。如有错误,感谢纠错 🎬个人简介:努力学习ing 📋本专栏:C++刷题专栏 📋其他专栏:C语言入门基础,python入门基础,C++学习笔记,Linux 🎀ZEEKLOG主页 愚润泽 你可以点击下方链接,进行其他贪心算法题目的学习 点击链接开始学习贪心day1贪心day2贪心day3贪心day4贪心day5贪心day6贪心day7贪心day8贪心day9贪心day10 也可以点击下面连接,学习其他算法 点击链接开始学习优选专题动态规划递归、搜索与回溯贪心算法 题单获取→ 【贪心算法】题单汇总 题目 * 452. 用最少数量的箭引爆气球 * 个人解 * 397. 整数替换 * 优质解

By Ne0inhk
Java模拟算法题目练习

Java模拟算法题目练习

模拟算法 * 替换所有的问好 * 提莫攻击 * Z字形变换 * 外观数列 * 数青蛙 模拟算法就是根据其题目进行一步一步操作即可,相对而言较简单,但是边界情况要处理好(细节问题) 替换所有的问好 题目解析:将s字符串中的?全部替换成小写字母,并且替换?的字符不可以与原本?相邻的两个字符相等 模拟:只需要根据题目条件,找出所有?,并将其替换成符合要求的小写字母即可 classSolution{publicStringmodifyString(String ss){//替换问好,但是相邻的不可以重复int n = ss.length();char[] s = ss.toCharArray();for(int i =0; i < n;i++){if(s[i]=='?'){//找一个符合条件的字母替换for(char ch

By Ne0inhk
重生之我在异世界学编程之算法与数据结构:深入堆篇

重生之我在异世界学编程之算法与数据结构:深入堆篇

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在ZEEKLOG这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 * 正文 * 一、堆的基本概念 * 二、堆的存储表示 * 三、堆的基本操作 * 1. 插入元素(Insert) * 2. 删除最大/最小值(Extract Max/Min) * 3. 构建堆(Build Heap) * 四、源码 * (1)heap.h * (2)heap.c * (3)Test.c * 五、堆的应用 * 1. 优先队列 * 2. 堆排序 * 3.Top K问题 * (1)定义与背景

By Ne0inhk
【基础算法】算法的“预谋”:前缀和如何改变游戏规则

【基础算法】算法的“预谋”:前缀和如何改变游戏规则

🔭 个人主页:散峰而望 《C语言:从基础到进阶》《编程工具的下载和使用》《C语言刷题》《算法竞赛从入门到获奖》《人工智能》《AI Agent》 愿为出海月,不做归山云 🎬博主简介 【基础算法】算法的“预谋”:前缀和如何改变游戏规则 * 前言 * 前缀和 * 1.1 一维前缀和 * 1.1.1 前缀和 * 1.1.2 最大子段和 * 1.2 二维前缀和 * 1.2.1 二维前缀和 * 1.2.2 激光炸弹 * 结语 前言 在算法设计与优化中,前缀和是一种简单却强大的技巧,能够将复杂问题转化为高效计算。无论是处理一维数组的区间求和,还是解决二维矩阵的子矩阵问题,前缀和都能通过预处理将时间复杂度从线性降低到常数级别,彻底改变问题的解决方式。

By Ne0inhk
数据结构:⼆叉树(1)

数据结构:⼆叉树(1)

目录 前言  树部分知识: 一.树的概念和结构 二.树的一些相关术语和定义  三.树的实现结构(了解部分) 四、树的应用场景 二叉树部分知识讲解: 一.二叉树概念与结构 二.特殊二叉树类型 1.满二叉树 2.完全二叉树 3.性质补充 三、⼆叉树存储结构 顺序结构: 编辑应用: 链式结构: 四、堆的概念与结构 1.实现顺序结构⼆叉树: 2.堆的概念与结构 (重点) 3.堆的实现 五、堆的实现代码部分 1.堆的初始化:(本次实现选取大堆为例) 2.堆的销毁: 3.堆的插入数据 : 4.堆打印值 : 六、

By Ne0inhk
优选算法——双指针专题 3.快乐数 4.盛水最多的容器

优选算法——双指针专题 3.快乐数 4.盛水最多的容器

优选算法——双指针专题 3.快乐数 4.盛水最多的容器 一.快乐数 1.题目解析 [题目传送门](202. 快乐数 - 力扣(LeetCode)) 2.原理解析 第一种情况:数最后变成1 第二种情况:无限循环但不是1 但两种都可以抽象成一种,有点像之前做过的带环链表 解法:快慢双指针 1.定义快慢指针 2.慢指针每次向后移动一步,快指针每次向后移动两步 3.判断相遇时候的值 3.代码实现 classSolution{public:intBitSum(int n)//返回每一位数上的平方和{int sum=0;while(n){int m=n%10;

By Ne0inhk
【LeetCode面试题17.04】消失的数字

【LeetCode面试题17.04】消失的数字

刷爆LeetCode系列 * LeetCode面试题17.04:消失的数字 * github地址 * 前言 * 题目描述 * 题目与思路分析 * 目标分析 * 思路一:数组哈希 * 思路二:数学求和 * 思路三:位运算(异或) * 代码实现 * 思路一:数组哈希 * 思路二:数学求和 * 思路三:位运算 * 算法代码优化 * 结语 LeetCode面试题17.04:消失的数字 github地址 有梦想的电信狗 前言 本文用C++三种方法实现LeetCode面试题17.04:消失的数字 * 方法一:数组哈希 * 方法二:数学求和再相减 * 方法三:位运算 题目描述 题目链接:https://leetcode.cn/problems/missing-number-lcci/description/ 题目与思路分析

By Ne0inhk
计算机毕业设计Python+PySpark+Hadoop高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)

计算机毕业设计Python+PySpark+Hadoop高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)

温馨提示:文末有 ZEEKLOG 平台官方提供的学长联系方式的名片! 温馨提示:文末有 ZEEKLOG 平台官方提供的学长联系方式的名片! 温馨提示:文末有 ZEEKLOG 平台官方提供的学长联系方式的名片! 技术范围:SpringBoot、Vue、爬虫、数据可视化、小程序、安卓APP、大数据、知识图谱、机器学习、Hadoop、Spark、Hive、大模型、人工智能、Python、深度学习、信息安全、网络安全等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码、文档辅导、LW文档降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 🍅文末获取源码联系🍅 🍅文末获取源码联系🍅 🍅文末获取源码联系🍅 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及LW文档编写等相关问题都可以给我留言咨询,

By Ne0inhk
【数据结构】栈和队列相互实现

【数据结构】栈和队列相互实现

目录 栈实现队列 思路 入队列 出队列 获取队头元素 队列实现栈 思路 入栈 出栈  获取栈顶元素 完整代码 栈实现队列 队列实现栈 栈实现队列 思路 栈的特点是 先进后出, 队列的特点是 先进新出,这就意味着我们无法通过一个栈来实现队列,那两个栈呢? 事实上,两个栈是可以实现队列的,stack1和stack2 思路如下: 入队列:先把所有元素都放到stack1中。  出队列:判断stack2是否为空 * 为空则把stack1中元素按照出栈顺序放到stack2中,同时返回stack2栈顶元素。 * 不为空则直接返回stack2栈顶元素。 定义基础变量 class MyQueue { public ArrayDeque<Integer> stack1; public ArrayDeque<Integer> stack2; public MyQueue(

By Ne0inhk
set_map的实现+set/map加持秒杀高频算法题锻炼算法思维

set_map的实现+set/map加持秒杀高频算法题锻炼算法思维

🎬 胖咕噜的稞达鸭:个人主页 🔥 个人专栏: 《数据结构》《C++初阶高阶》《算法入门》 ⛺️技术的杠杆,撬动整个世界! 开始进入set和map的学习目录 * * * * set类的实现 * set的构造和迭代器: * set:erase和find * set:count * set:lower_bound和upper_bound * multiset和set * map:insert * map:operator[ ] * multimap和map的差异: * 力扣题目链接: * 两个数组的交集 * 环形链表 * 随机链表的复制 * 前k个高频单词 * set和map的构造对比: set类的实现 set的声明:T就是set底层的关键字的类型; set默认要求支持T比较,如果不支持或者想按照自己的需求走可以自行实现仿函数传给第二个模板参数。 set底层存储数据的内存是从空间配置器申请的,如果需要可以自己实现内存池,传给第三个参数。 set底层是红黑树实现,增删查效率是O(logN),迭代器遍历走

By Ne0inhk