算法
鹿灏楷silves
不要人夸颜色好,只留清气满乾坤
展开
-
大顶堆,小顶堆——排序问题
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例 1:输入:[“Med原创 2021-11-19 21:46:08 · 2546 阅读 · 0 评论 -
贪心算法——跳跃游戏ii
跳跃游戏 II给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。题目来源:力扣网址:https://leetcode-cn.com/pro.原创 2021-11-16 19:21:53 · 3966 阅读 · 0 评论 -
动态规划——不同路径ii
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths-ii思路这道题有一道题目大意相同,但是比这道题简单一些的题。可以先做会不同路径,再来做不同路径ii。我们会想到动态规原创 2021-11-13 19:25:51 · 1799 阅读 · 0 评论 -
动态规划+递归——礼物的最大价值
在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/li-wu-de-zui-da-jie-zhi-lcof得到礼物最大的价值,从左上角到右下角,从题意上来说,从左上角出发,每次可以向下走,可以向右走,目标是右下原创 2021-11-11 16:01:24 · 1853 阅读 · 0 评论 -
回溯算法——全排列
回溯算法框架if 退出条件 { //将得到的值,保存到变量中}for _ , 变量 := range 所有变量 { if 变量符合条件 { 将变量设为不符合条件,防止回溯之后重复选择 backtrace() //选择 将变量的不符合的释放,可以再次选择 }}例题给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1]原创 2021-11-10 11:02:26 · 2010 阅读 · 0 评论 -
电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number开始想到的是暴力,一层一层遍历,但是由于不知道数字字符串的长度,导致for循环遍历的层数不知道。回溯算法:我们使用深度优先搜索,进行字符串的组合。我们首先取原创 2021-07-26 10:56:17 · 481 阅读 · 0 评论 -
leetcode——两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。首先分析此题,为链表加法,并且低位和还要进位。两种方法:链表转原创 2021-07-09 14:59:34 · 895 阅读 · 0 评论