
算法
Abby.R
码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指 Offer 10- I. 斐波那契数列(leetcode)
题目:算法斐波那契数列(Fibonacci sequence),又称黄金分割数列、兔子数列,是数学家列昂纳多·斐波那契于1202年提出的数列。斐波那契数列为1、1、2、3、5、8、13、21、34……此数列从第3项开始,每一项都等于前两项之和,递推公式为F(n)=F(n-1)+F(n-2),n≥3,F(1)=1,F(2)=1。做法递归 public static int fib0(int n) { if (n<2) { return n; } return fib(n-原创 2020-10-08 09:43:00 · 258 阅读 · 0 评论 -
最长公共子序列-Python-动态规划
1.题目内容题名为:最长公共子序列。题目要求:1.用动态规划算法思想设计最长公共子序列问题求解算法,并且对给定的数据(分两类:统一和自选)进行验证。2.要求分析算法的时间复杂性。3.与穷举算法,直接递归法,备忘录法进行对比并且形成分析报告。2.算法分析1.算法原理:字符串X,长度为m,从1开始数;字符串Y,长度为n ,从1开始数;Xi=﹤x1,⋯,xi﹥即X序列的前i个字符(1≤i≤m)Yj=﹤y1,⋯,yj﹥即Y序列的前j个字符 (1≤j≤n)LCS(X , Y) 为字符串X和Y的原创 2020-06-21 21:00:33 · 1372 阅读 · 0 评论 -
Python解决 0-1背包问题-实验贪心算法-动态规划等
1.题目内容题名为:0-1背包问题。题目要求:动态规划:1.用动态规划法设计0-1背包问题的算法,并且对给定的加权数据进行验证。要求分析算法时间复杂性并且形成分析报告。2.算法分析动态规划1.算法原理依次把每一件物品都放入背包,当背包可容纳值大于等于当前物品重量,与之前可容纳物品的总价值进行对比,如果超出容量,则不换,没有超出换。2.实现步骤创建一个value[i][j]数组,表示在面对第 i 件物品,且背包容量为 j 时所能获得的最大价值,1)当j < w[i] 的情况,这时原创 2020-06-21 20:57:48 · 3304 阅读 · 0 评论 -
python解LeetCode 28.实现 strStr()
实现 strStr()文章目录实现 strStr()题目问题分析代码题目实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", nee...原创 2020-03-13 16:13:14 · 244 阅读 · 0 评论 -
python解LeetCode 27. 移除元素
27. 移除元素文章目录27. 移除元素题目问题分析题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1:给定 nums = ...原创 2020-03-12 18:35:20 · 326 阅读 · 0 评论 -
python解LeetCode 26. 删除排序数组中的重复项
删除排序数组中的重复项文章目录删除排序数组中的重复项题目问题分析代码题目给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数...原创 2020-03-12 17:43:51 · 160 阅读 · 0 评论 -
力扣算法--两数之和 (python)
两数之和难度:简单给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 ...原创 2020-03-04 18:55:24 · 302 阅读 · 0 评论 -
力扣题--分糖果II (python解)
分糖果2排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n ...原创 2020-03-05 12:45:45 · 1071 阅读 · 0 评论