首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法
JT0
创建于2022-03-05
订阅专栏
转载的文章
暂无订阅
共29篇文章
创建于2022-03-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法-栈队列堆-用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 解题思路 in 栈用来处理入栈(push)操作,out 栈用来处理出栈(pop)操作。一个元素进入 in 栈之后,出栈的顺序
算法-链表- 两个链表的第一个公共结点
题目描述 解题思路 设 A 的长度为 a + c,B 的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a。当访问链表 A 的指针访问到链表尾部时,令它
算法-链表- 合并两个排序的链表
题目描述 解题思路 递归 迭代题目描述 解题思路 递归 迭代题目描述 解题思路 递归 迭代题目描述 解题思路 递归 迭代题目描述 解题思路 递归 迭代
算法-链表- 反转链表
解题思路 递归 迭代 使用头插法。解题思路 递归 迭代 使用头插法。解题思路 递归 迭代 使用头插法。解题思路 递归 迭代 使用头插法。
算法-链表- 链表中环的入口结点
题目描述 一个链表中包含环,请找出该链表的环的入口结点。要求不能使用额外的空间。 解题思路 使用双指针,一个快指针 fast 每次移动两个节点,一个慢指针 slow 每次移动一个节点。因为存在环,所以
算法-链表-链表中倒数第 K 个结点
解题思路 设链表的长度为 N。设置两个指针 P1 和 P2,先让 P1 移动 K 个节点,则还有 N - K 个节点可以移动。此时让 P1 和 P2 同时移动,可以知道当 P1 移动到链表结尾时,P2
算法-链表-删除链表中重复的结点
题目描述 解题描述题目描述 解题描述 解题描述 题目描述 解题描述解题描述题目描述 解题描述 题目描述 解题描述题目描述
算法-链表-在 O(1) 时间内删除链表节点
解题思路 ① 如果该节点不是尾节点,那么可以直接将下一个节点的值赋给该节点,然后令该节点指向下下个节点,再删除下一个节点,时间复杂度为 O(1)。 ② 否则,就需要先遍历链表,找到节点的前一个节点,然
算法-链表-从尾到头打印链表
题目描述 从尾到头反过来打印出每个结点的值。 解题思路 1. 使用递归 要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3
算法-动态规划-连续子数组的最大和
题目描述 nums = [-2,1,-3,4,-1,2,1,-5,4],连续子数组 [4,-1,2,1] 的和最大,为 6。。 解题思路 这道题网上的解法有很多,这里介绍一下动态规划的
算法-动态规划-变态跳台阶
题目描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级... 它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 解题思路 动态规划 数学推导 跳上 n-1 级台阶,可以从
算法-动态规划-跳台阶
题目描述(10.3) 一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 解题思路 当 n = 1 时,只有一种跳法: 当 n = 2 时,有两种跳
算法-动态规划-矩形覆盖
题目描述(10.2) 我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,总共有多少种方法? 解题思路 当 n 为 1 时,只
算法-动态规划-斐波那契数列
题目描述(10.1) 求斐波那契数列的第 n 项,n <= 39。 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算
算法-搜索-矩阵中的路径
题目描述 判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向上下左右移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入
算法-分治-数值的整数次方
题目描述 给定一个 double 类型的浮点数 x和 int 类型的整数 n,求 x 的 n 次方。 解题思路 最直观的解法是将 x 重复乘 n 次,x*x*x...*x,那么时间复杂度为 O(N)。
算法-二分查找-数字在排序数组中出现的次数
题目描述(剑指53) 解题思路 只要能找出给定的数字 k 在有序数组第一个位置和最后一个位置,就能知道该数字出现的次数。 先考虑如何实现寻找数字在有序数组的第一个位置。正常的二分查找如下,在查找到给定
算法-二分查找-旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 解题思路 将旋转数组对半分可以得到一个包含最小元素的新旋转数组
算法-贪心思想-股票的最大利润
题目描述 可以有一次买入和一次卖出,买入必须在前。求最大收益。 解题思路 使用贪心策略,假设第 i 轮进行卖出操作,买入操作价格应该在 i 之前并且价格最低。因此在遍历数组时记录当前最低的买入价格,并
算法-贪心思想-剪绳子
题目描述 把一根绳子剪成多段,并且使得每段的长度乘积最大。 解题思路 贪心 尽可能得多剪长度为 3 的绳子,并且不允许有长度为 1 的绳子出现。如果出现了,就从已经切好长度为 3 的绳子中拿出一段与长
下一页