![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 90
LeetCode
打工人-
code success
展开
-
算法 - 动态规划(二)
动态规划算法的基本思想是:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到时直接引用答案,不必重新求解。动态规划算法将问题的解决方案视为一系列决策的结果。题目描述:假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益。1.你可以买入一次股票和卖出一次股票,并非每天都可以买入或卖出一次,总共只能原创 2022-06-07 16:57:16 · 897 阅读 · 1 评论 -
算法 - 动态规划(一)
题目描述;给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。输入:nums = [0,3,7,2,5,8,4,6,0,1]输出:9解题思路:用哈希表存储每个端点值对应连续区间的长度。若数已在哈希表中:跳过不做处理。若是新数加入:原创 2022-05-19 16:08:19 · 616 阅读 · 0 评论 -
单词接龙II-(深度优先算法)
DFS(深度优先算法)深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。深度优先遍历使用的数据结构是栈(Stack),将访问过的节点标记后,并压入栈中,再遍历此时跟栈顶元素相关联的节点,将其中未标记的节点标记,并压入栈中……以此类推,当该栈顶的元素相关联的节点都被访问过了,则该元素弹出栈……直到栈空,.原创 2022-05-17 17:00:01 · 407 阅读 · 0 评论 -
哈希算法(字典)
1、数组中只出现一次的两个数字题目描述:一个整型数组里除了两个数字只出现一次,其他的数字都出现了至少两次。请写程序找出这两个只出现一次的数字。示例:输入:[1,4,1,6] 返回值:[4,6]输入:[1, 2, 3, 3, 3, 2, 9] 返回值:[1, 9]解题思路:既然有两个数字只出现了一次,我们就统计每个数字的出现次数。step 1:遍历数组,用哈希表统计每个数字出现的频率。step 2:然后再遍历一次数组,对比哈希表,找到出现频率为1的两个数字。step 3:最原创 2022-04-01 21:00:00 · 579 阅读 · 0 评论 -
猎人抓兔子 - (广度优先算法)
题目描述:假设有一只兔子,有4个排成一排的洞,编号为1和4。兔子每天晚上跳到相邻的一个洞里住,2号洞只能可以跳1号和3号洞,4号洞只能跳3号洞。而猎人每天白天检查其中的一个洞。猎人告诉你每天检查的洞的编号,分析一下是否一定能抓到兔子。如果能抓到,找出最优路径。这道题思路:想办法把兔子逼到最后一个洞或者第一个洞,这样它下一步只能跳一个洞就找到了,列举探索的思路也很重要,要分别列出当前可能藏的洞和下一次可能藏的洞。找准这两个变量很关键。...原创 2022-03-31 15:36:04 · 3359 阅读 · 0 评论