
算法
未名编程
编程爱好者,诗词达人
展开
-
头插法和尾插法
头插法 void HeadCreatList(List *L) //头插法建立链表 { List *s; //不用像尾插法一样生成一个终端节点。 L->next = NULL; for (int i = 0; i < 10; i++) { s = (struct List*) malloc(sizeof(struct List));//s指向新申请的节点 s->data = i;//用新节点的数据域来接受i s->next = L-原创 2020-12-08 09:41:21 · 896 阅读 · 0 评论 -
【超直白】leetcode 279 完全平方数
题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 9. 解决方案 思路一——数学运算 是考察四平方和定理,to be honest, 这是我第一次听说这个定理,天啦撸,我的数学是语文老师教的么?! 闲话不多扯,回来做题。先来看第一种很高效的方法,根据原创 2020-07-18 09:32:41 · 285 阅读 · 0 评论 -
【超直白】算法:斐波那契数列
题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 分析: 何为斐波那契额数列呢?? 例如:0 1 1 2 3 5 8 13 说的通透些就是前两个数的和是后面那个数。 通项公式:F(n) = F(n-1)+F(n-2) 大家结合这张图和通式理一下思路,相信其实不难。就是一个简单的递归调用,最后调用到F(0)和F(1)截止。 代码如下所示: function test(n){ if(n==0){ return 0; }else i原创 2020-07-18 13:16:48 · 457 阅读 · 0 评论