每天一道算法题
文章平均质量分 85
每天一道算法题
潮浪之巅
本硕计算机科班人,全栈领域优质创造者感谢您的关注!欢迎访问我的个人网站: xzj520.top,我的专栏目录汇总:https://blog.csdn.net/Learning_xzj/article/details/125114788
展开
-
【每天一道算法题】用两个栈实现队列
准备好了吗Let’s go!👀问题描述题目来源:牛客网✏️ 思路解析与题解队列的特性是:“先入先出”,栈的特性是:“先入后出”当我们向模拟的队列插入数 a,b,c 时,假设插入的是 stack1,此时的栈情况为:栈 stack1:{a,b,c}栈 stack2:{}当需要弹出一个数,根据队列的"先进先出"原则,a 先进入,则 a 应该先弹出。但是此时 a 在 stack1 的最下面,将 stack1 中全部元素逐个弹出压入 stack2,现在可以正确的从 stack2 中弹出 a,此时的栈.原创 2022-07-12 19:39:14 · 2227 阅读 · 3 评论 -
【每天一道算法题】二分查找
准备好了吗Let’s go!👀问题描述二分解法利用数组本身有序,我们可以通过二分找插入位置。具体的,通过二分找到符合 nums[mid]原创 2022-07-12 19:35:16 · 186 阅读 · 0 评论 -
【每天一道算法题】合并两个排序的链表
准备好了吗Let’s go!👀问题描述题目来源:牛客网✏️ 思路解析与题解解法一,新建一个链表和一个哨兵节点(因为有去无回,需要哨兵节点来记录头节点的位置),遍历两个有序链表list1和list2,因为需要升序,那么谁小取谁做新链表的下一个节点,取谁的节点就往后移位,直到尾部null。解法二,对解法一进行优化,观察到,如果想用尽一个链表,那么直接指向它的头节点就行了,省去解法一中,取剩余节点的步骤。解法三, 使用递归,思想是:每次都取list1和list2的头节点进行比较,谁小谁当头节点,然.原创 2022-07-09 21:54:34 · 1156 阅读 · 46 评论 -
【每天一道算法题】链表中的节点每k个一组翻转
准备好了吗Let’s go!👀问题描述题目来源:牛客网✏️ 思路解析与题解方法:递归(推荐使用)思路:现在我们想一想,如果拿到一个链表,想要像上述一样分组翻转应该做些什么?首先肯定是分段吧,至少我们要先分成一组一组,才能够在组内翻转,之后就是组内翻转,最后是将反转后的分组连接。但是连接的时候遇到问题了:首先如果能够翻转,链表第一个元素一定是第一组,它翻转之后就跑到后面去了,而第一组的末尾元素才是新的链表首,我们要返回的也是这个元素,而原本的链表首要连接下一组翻转后的头部,即翻转前的尾部,如果不.原创 2022-07-09 20:50:32 · 1002 阅读 · 2 评论 -
【每天一道算法题】反转链表与指定区间反转链表
准备好了吗Let’s go!👀问题描述题目来源:牛客网✏️ 思路解析与题解方法一:调整链表指针,反转链表pre指针指向已经反转好的链表的最后一个节点,初始化为null;cur指针指向待反转链表的第一个节点,最开始第一个节点待反转,所以指向头指针;next指针指向待反转链表的第二个节点,目的是保存链表,因为cur改变指向后,后面的链表则失效了,所以需要保存复杂度分析时间复杂度:O(N),N链表的长度,遍历链表;空间复杂度:O(1),未开辟新空间.方法二:栈利用栈先进后出的性质达到反转的目的复杂度分.原创 2022-07-08 10:38:38 · 2831 阅读 · 3 评论 -
【每天一道算法题】华为机试HJ16:购物单(解析加源码)
关于背包的算法题原创 2022-06-18 22:25:09 · 1049 阅读 · 17 评论 -
【每天一道算法题】入门篇之找x
输入一个数n(1≤n≤200),然后输入n个数值各不相同的数,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。原创 2022-05-09 23:55:59 · 654 阅读 · 0 评论 -
第十一届蓝桥杯大赛决赛试题Java A组(试题解析)
## 试题 **A:** 合数个数**👀问题描述**一个数如果除了 1 和自己还有其他约数,则称为一个合数。例如:1, 2, 3 不是合数,4, 6 是合数。请问从 1 到 2020 一共有多少个合数。✏️**思路解析**在1-2020这些数中,构成有3部分:质数、合数、既非质数亦非合数,既非质数亦非合数只有数字"1"。✨**参考代码**原创 2022-05-08 21:50:05 · 6027 阅读 · 123 评论 -
【每天一道算法题】动图解析栈的应用之括号匹配(附源码)
🌱本专栏将会从基础开始,循序渐进,每天刷一道算法题,也请大家多多支持。数据结构虽然难,但只要肯坚持,一定能学好,希望大家都能够从中获益。📫专栏地址:每日一道算法专栏 数据结构专栏📫本专栏的所有代码都将更新在Gitee上,项目地址:项目地址📫相关数据结构演示软件:链接地址📫数据结构在线演示地址:https://visualgo.net/zh https://algorithm-visualizer.org/准备好了吗Let’s go!文章目录栈在括号匹配中的应用栈在括号匹配中的应.原创 2022-05-05 16:26:00 · 526 阅读 · 0 评论 -
【每天一道算法题】栈的应用:将中缀表达式转为后缀表达式以及后缀表达式求值(附动图,源码,讲解最详细,没有之一)
🌱本专栏将会从基础开始,循序渐进,每天刷一道算法题,也请大家多多支持。数据结构虽然难,但只要肯坚持,一定能学好,希望大家都能够从中获益。📫专栏地址: 🍇每日一道算法题专栏 🍉数据结构专栏📫本专栏的所有代码都将更新在Gitee上,项目地址:项目地址📫相关数据结构演示软件:链接地址📫数据结构在线演示地址:https://visualgo.net/zh https://algorithm-visualizer.org/准备好了吗Let’s go!1 栈在表达式.原创 2022-05-06 14:26:36 · 2839 阅读 · 7 评论 -
【每天一道算法题】基础模拟之害死人不偿命的(3n+1)猜想
这种题型属于模拟题。模拟题是一类“题目怎么说,你就怎么做”的题目,如果实现起来不太麻烦,就可以称之为“简单模拟”。这类题目不涉及算法,完全只是根据题目描述来进行代码的编写,所以考查的是代码能力。原创 2022-05-07 19:19:12 · 572 阅读 · 13 评论 -
【每天一道算法题】基础模拟之挖掘机技术哪家强
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,原创 2022-05-08 17:10:43 · 647 阅读 · 5 评论