自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 C语言栈和队列的实现

struct Stack { int data; struct Stack* next; }; struct Stack* createStack() { struct Stack* stack = (struct Stack*)malloc(sizeof(struct Stack)); stack->next = NULL; return stack; } bool isEmpty(struct Stack* stack) { return (stack->next == NU

2021-01-23 15:32:56 171

原创 力扣121.买卖股票的最佳时机

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 #define MAX(x, y) ((x) > (y)) ? (x) : (y) int maxProfit(int* prices, int pricesSize) { if(pricesSize==0) { return 0; } int dp[pr

2020-12-05 19:31:57 90

原创 力扣787.K 站中转内最便宜的航班

有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始,以价格 w 抵达 v。 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如果没有这样的路线,则输出 -1。 #define MIN(x, y) ((x) < (y)) ? (x) : (y) int findCheapestPrice(int n, int** flights, int flightsSize, int* flightsColSi

2020-12-05 18:42:50 140

原创 力扣978.最长湍流子数组

当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1]; 或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。 也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。 返回 A 的最大湍流子数

2020-12-04 18:24:04 92

原创 力扣474.一和零

给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 。 #define MAX(x, y) ((x) > (y)) ? (x) : (y) int findMaxForm(char ** strs, int strsSize, int m, int n) { int i,j,k; int dp[strsS

2020-12-01 15:35:47 267 1

原创 01背包问题

有n 个物品,它们有各自的重量和价值,现有给定容量的背包,输出最大价值。 int main() { int n;//物品数量 double m;//背包限制 int i,j; int tem[n][m]; struct item { double w; double v; }it[n]; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { if(j<it[i]->w) { tem[i][j] = t

2020-11-27 22:44:23 53

原创 力扣:最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。 int lengthOfLIS(int* nums, int numsSize) { if(numsSize==0) { return 0; } int i,j,max=1; int dp[numsSize]; for(i=0;i<numsSize;i++) { dp[i]=1; } for(i=1;i<numsSize;i++)

2020-11-27 21:49:35 191

原创 对txt文档英文词频统计

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct ku { char word[1000000]; int num; struct ku*next; }ku; int read(struct ku*tem1,FILE*fp) { int ch,i=0; while((ch=getc(fp))!=EOF) {

2020-11-19 21:58:25 215

原创 二叉搜索树中删除、搜索和插入

/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ struct TreeNode* searchBST(struct TreeNode* root, int val) { while(root != NULL) { if(va

2020-11-14 23:18:47 49

原创 二叉树的前序、中序、后序和层序遍历

/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }TreeNode; */ /** * Note: The returned array must be malloced, assume caller calls free(). */ int* preorderT

2020-11-12 17:46:48 51

原创 有效的括号字符串

struct Check { char item; int num; struct Check* left; struct Check* star; }Check; int popleft(struct Check* check) { struct Check* tem3 = (struct Check*)malloc(sizeof(struct Check)); tem3 = check->left; check->left = tem3->

2020-11-05 19:20:56 62

原创 包含min函数的栈

typedef struct MinStack { int data; int min; struct MinStack* next; } MinStack; /** initialize your data structure here. */ MinStack* minStackCreate() { struct MinStack* obj = (struct MinStack*)malloc(sizeof(struct MinStack)); obj-&g

2020-11-04 19:31:39 86

原创 逆波兰表达式求值

struct Stack { int data; struct Stack* next; }; void push(struct Stack* stack,int item) { struct Stack* tem1 = (struct Stack*)malloc(sizeof(struct Stack)); tem1->data = item; tem1->next = stack->next; stack->next = tem1; }

2020-11-03 21:10:11 79

原创 矩阵乘法解决Fibonacci序列

#include <stdio.h> #include <stdlib.h> int Multiply(int a[2][2]) { int r[2][2]={0,0,0,0}; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { r[i][j] = 0; for (int k = 0; k <2; k++) {

2020-10-31 09:26:28 53

原创 链表的打印 插入 删除

typedef struct node0 { int data; struct node0* next; }node; int pri(node *head) { node *i=head; while(i!=NULL) { printf("%d ",i->data); i=i->next; } printf("\n"); return 0; } int insert(node *head,int n) { node *temp1 = (node*)malloc(s

2020-10-24 10:13:41 84

原创 数组与素数

int find(int n) { int i,j,k=0; int *a =malloc(sizeof(int)*n); for(i=2;i<=n;i++) { a[i]=1; } for(i=2;i<=n;i++) { if(a[i]) { for(j=i;j*i<=n;j++) { a[i*j]=0; } } } for(i=2;i<=n;i++) { if(a[i]) { printf("%4d",i

2020-10-21 19:58:38 190 1

原创 合并两个有序链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) { if(l1==NULL) { return l2; } if(l2==N

2020-10-20 21:51:57 46

原创 环形链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ bool hasCycle(struct ListNode *head) { struct ListNode *t =head; if(head==NULL) { return false; } for(int i=

2020-10-20 09:13:00 42

原创 约瑟夫问题

typedef struct link{ int data; struct link * next; }link; link *cycle0(int n) { link *head =(link*)malloc(sizeof(link)); head->data=1; head->next=NULL; link * cycle=head; for(int i=2;i<=n;i++) { link * body=(link*)malloc(sizeof(link))

2020-10-20 08:39:52 75 1

原创 比较含退格的字符串

bool backspaceCompare(char * S, char * T) { char *a = (char*)calloc(200, sizeof(char)), *b = (char*)calloc(200, sizeof(char)); int i,j=0,k,l=0,c,d; int l1 = strlen(S), l2 = strlen(T); for(i=0;i<l1;i++) { while(S[i]=='#')

2020-10-19 12:41:09 44

原创 素数生成数列

int fx(int x) { int result = x*x-x+41; return result; } int is_prime(int n) { int i; if(n==1||n==0) { return 0; } if(n==2||n==3) { return 1; } for(i=2;i<n-1;i++) { if(n%i==0) { return 0; } else

2020-10-17 07:44:02 197

原创 最长公共前缀

char *longestCommonPrefix(char **strs, int strsSize) { if(strsSize==0) { return ""; } char *str; int i,j = 0,num = strlen(strs[0]),n; for(i=1;i<strsSize;i++) { j = 0; while(strs[0][j]==

2020-10-15 23:11:59 46

原创 罗马数字转整数

int romanToInt(char * s) { int result = 0; while(*s) { switch(*s) { case'I': ((*(s+1)=='V')||(*(s+1)=='X')) ? (result -= 1) : (result += 1); break; cas

2020-10-14 22:06:06 46

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除