【Golang】链表翻转,Golang实现

链表翻转 链表翻转,下面是最简单的一种链表翻转 基本上有两个方法: 递归版本 非递归版本(多指针) go package main import "fmt" type Node struct { Element int Next Node } func (n Node) Generate
2020-12-11 11:44 算法分享 0 人评

01背包问题(二)

01背包的时间复杂度很难再降低了,但空间复杂度还能进行优化,可以把数组从二维降到一维。 截图1560306959(https://wimg.misiyu.cn/images/20190612/1560306958feb9359097ca384.png?xossprocess=style/first) 如上图所示,01背包的两重for循环是无法降低了, 但是空间复杂度是O(MN)却
2019-06-12 10:49 算法分享 0 人评

01背包问题(一)

链接:<https://www.acwing.com/problem/content/2/ 参考 <https://www.cnblogs.com/ChristalR/p/Dynamicprogramming.html <https://www.bilibili.com/video/av36136952 思路 根据动态规划解题步骤(问题抽象化、建
2019-06-11 22:04 算法分享 0 人评

贪心凑面值

c int main() { int price = {1,5,10,20}; int n = 4; // 目标元素(这里是面值)的个数 int target = 7; // 要凑出的目标面值 int sum = 0; // 凑出目标面值的个数 while(target > 0) { for(int i = n1; i>= 0; i) // notic
2019-06-06 14:25 算法分享 0 人评

斐波那契数列的若干解法

以下很多参考Acwing:<https://www.acwing.com/blog/content/25/ 解法1 c // 解法1:递归 / 这是最容易想到的,但求解大数也是最有问题的。 存在大量重复计算。 一秒内大约能算到第三四十项。 / int f1(int n) { const int MOD = 1000000007; if (n =
2019-06-06 14:22 算法分享 0 人评