算法
我不是写算法我在创造世界
这个作者很懒,什么都没留下…
展开
-
买卖股票的最佳时机
给定一个数组 array,它的第 i 个元素 array[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。求你所能获取的最大利润。例子:array[] = [7,1,5,3,6,4] 答案为5int maxProfit(int* prices, int pricesSize){ int min = 10005; int maxprice = 0; for(int i = 0;i<pricesSize;原创 2021-07-28 18:06:40 · 77 阅读 · 0 评论 -
动态规划-递推
1. 斐波那契数列 int dp[101] = {0}; int function(int n){ if(n == 0||n == 1) 1return 1; if(dp[n] != 0) return dp[n]; else{ dp[n] = function(n-1)+function(n-2); return dp[n]; } }递归和递推的差别就在一个保存一个没有保存 2. List item.原创 2021-07-28 13:03:04 · 104 阅读 · 0 评论 -
动态规划-区间DP
解释:区间DP就是在区间上进行动态规划,求解最优值原创 2021-07-28 12:38:12 · 53 阅读 · 0 评论 -
数据结构-链表字典树实现(单词查找树,Trietree)C语言
字典树的相关概念请查找其他资料,不再累述#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Node{ char data; struct Node* next[26];}LNode,*LinkList;LinkList CreateHead();LinkList AddData(LinkList head,char* word);bool FindWord(LinkL原创 2021-07-27 16:03:37 · 203 阅读 · 0 评论 -
KMP算法
int next[1005];void getnext(char s[]){ int len = strlen(s); int j = 0; for(int i = 1;i<len;i++){ while(j>0&&s[i]!=s[j]) j = next[j]; if(s[i] == s[j]) j++; next[i+1] = j; }}int KMP(char s[],char t[]){ int len1 = strlen(s); int l原创 2021-07-27 15:07:44 · 49 阅读 · 0 评论 -
BF算法函数实现
/* 定义含义:s[]:主串 t[]:匹配串 pos:从s串的第几位开始匹配*/int BF(char s[],char t[],int pos){ int m,n; int i = pos; int j = 0; m = strlen(s); n = strlen(t); while(i<m&&j<n){ if(s[i] == t[j]){ i++; j++; } else{ i = i - j + 1;原创 2021-07-27 09:00:01 · 304 阅读 · 0 评论 -
数据结构练手题
数据结构——练手题目第一节 —— 线性表在完成线性表基本操作后的加强练习,现在复习下分享给大家普通高校大二计科学生,非常热爱计算机这门艺术,欢迎大家交友交流QQ:1600206666后面会公布答案在做了几个小项目过后意识到数据结构和算法的重要性回来复习下1.已知两线性表list1,list2数据元素单调递增,要求实现合并两个线性表组成新表list3,并保持有序性。(顺序表,链表)list1:1,7,10list2:3,4,9,15list3:1,3,4,7,9,10,152.已知原创 2021-02-04 03:37:04 · 279 阅读 · 0 评论