首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
一日一练
Tonyzz
创建于2022-04-11
订阅专栏
算法小白的刷题之路~
暂无订阅
共62篇文章
创建于2022-04-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
一日一练:二叉树的前中后序遍历
这是维基百科给的定义。 如上图就是一个二叉树,二叉树的每个节点最多只有两个分支,所以第n层最多2^(n - 1)个节点,而k层总共最多有2^(k + 1) - 1个节点 二叉树的遍历分为三种。。。
一日一练:移除无效的括号
这里还是栈的使用。但是因为需要从s中剔除无效的字符,所以需要记住无效字符的位置。 扫描字符串 如果是(,推入栈中 如果是), 则判断栈顶是否是(,如果是有效成对的括号。。。
一日一练:栈匹配
1. 有效的括号 栈的使用 遇到相匹配的字符时将对应字符从栈中弹出,否则将自身压入栈中。 2. 删除最外层的括号 这类题型基本都是栈的使用。 扫描字符串,判断当前位置是否为")" 是》。。。
一日一练:验证栈序列
首先可以确定的是,这道题涉及到队列(FIFO)和栈(FILO),JavaScript数组都可以模拟这两种数据类型。 解题思路: 将pushed的元素shift出来,将出列的元素推入一个新数组中。。。
一日一练:棒球比赛
因为涉及到数据的保存,同时也需要快速获取上两次的数据,可以用数组对栈进行模拟。 C: 直接将栈顶推出 D: 获取栈顶的值,double之后推入栈中 +: 获取栈顶和栈次顶的值,相加之后推入栈中。。。
一日一练: 任务调度器
这道题可能需要注意的地方: 根据冷却时间,有两种情况 任务类型大于等于n,只需要分配n个不同的任务就可以 任务类型小于n,分配完任务类型之后,需要用待机去填充冷却时间 为了保证尽可能多的执行任务。。。
一日一题:煎饼排序
大致思路可以: 数组中的元素都不相同 首先找到最大的数的位置,将其翻转到队首,然后翻转整个数组,最大的数就到队尾了 然后找到第二大的数,将其翻转到队首,然后翻转除了最大数之外的整个数组。。。
一日一练: 柠檬水找零
思路: 遍历bills数组,判断当前支付费用是否能找零,同时也需要记录当前所拥有零钱数量。 判断条件: 5元: 给5元的数量加1 10元: 当前5 元数量是否不为0 为0则不能顺利找零,返回false
一日一练:亲密字符串
s更换两个字母的位置与goal相等,存在两种情况可以为true s与goal相等,存在相同的字符 >= 2,这样任意交互其中两个就可以 s与goal不相等,这个时候需要存在两个位置,这两个位置交互之后
一日一练:第k个数
为什么朴素算法不好用? 最初拿到题目,可能会想到用[3, 5, 7]逐个去与[1]相乘,结果放入后面的数组中,得到[1, 3, 5, 7],然后继续用[3, 5, 7]与第二个数相乘。。。
一日一练: 最新的请求数
需要注意的是:本来这题应该使用队列去实现(FIFO),甚至为了节省内存,可以使用循环队列。但是js中没有相关概念,如果去封装一个类似队列的数据,是需要在数组的基础上去操作的...
一日一练: 复制带随机指针的链表
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情 看完题目,首先要注意的就是“深拷贝”,可以先回顾一下js里对象的深拷贝是怎么样的?
一日一练: 分隔链表
原地操作 第一种思路是: 找。到值小于x的节点,移到链表前部分 首先判断链表是不是以小于x的节点开头的 如果不是,以哨兵节点为pre节点, 如果是的话,找到第一个大于x节点的前一个节点为pre节点 然
一日一练: 删除链表中的重复元素
1. 删除链表中的重复元素-1 删除已排序链表的重复元素。这道题的思路比较简单:从头开始,比较当前节点与下一个节点的值是否相同,相同删除下一个节点(删除操作☞这边文章里有详细说明),不同的话,指针指向
一日一练: 两两交换链表中的节点
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天,点击查看活动详情。 1. 解题1 这里如果刷过K个一组翻转列表,那么这里两两交换链表中的节点就是K = 2的特殊情况。那么这里
一日一练: 删除链表的倒数第 N 个结点
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天,点击查看活动详情 1. 计算总长度 将反向中转成正向问题。找到链表的总长度,然后 总长度 - n 就是正向要删除的链表节点的位
一日一练: 旋转链表
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情 1. 题解 将链表移动k个位置,需要注意的有两点 当k大于链表长度时: 比如下图的链表,k可以是2也可以是7
一日一练: 反转链表ii
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情 如果是对整个链表进行反转: 反转链表 多次扫描 已经知道如何对整个反转链表的,很容易想到的方式是: 通过le
一日一练: 反转链表
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情 如果链表只有两个节点? 如果链表只有两个节点的话:只需要将节点1的next指针指向null(第一次反转),然
一日一练: 快乐数
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情 暴力 拿到题目之后,很容易想到用while循环去暴力搜索,但是根据快乐数的第二条规则: 也可能是 **无限循
下一页