自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作系统笔记(持续更新)

操作系统复习知识点

2022-07-08 11:06:19 544 1

原创 【刷题】leetcode-309.买卖股票最佳时期含冷冻期

int maxProfit(int* prices, int pricesSize){ if(pricesSize==1) return 0; int s[pricesSize][3]; s[0][0]=-prices[0]; s[0][1]=0; s[0][2]=0; //s[i][0]表示持有股票的状态 //s[i][1]表示不持有股票,且处于冷冻状态 //s[i][2]表示不持有股票,且不处于冷冻状态 fo...

2022-05-09 14:53:43 167

原创 【刷题】leetcode-1855.下标对中的最大距离

int maxDistance(int* nums1, int nums1Size, int* nums2, int nums2Size){ int max=0; int i=0; for(int j=0;j<nums2Size;j++) //双指针 { while( i<nums1Size&&nums1[i]>nums2[j]) i++; if(i<nums...

2022-05-04 11:35:49 172

原创 【刷题】leetcode-100.三角形最短路径

int minimumTotal(int** triangle, int triangleSize, int* triangleColSize){ int f[triangleSize][triangleSize]; memset(f,0,sizeof(f)); f[0][0]=triangle[0][0]; for(int i=1;i<triangleSize;i++) { f[i][0]=f[i-1][0]+triangle[...

2022-05-02 19:53:50 187

原创 【刷题】leetcode-2064.分配给商店的最多产品的最小值

bool dep(int n,int mid,int*quantities,int quantitiesSize){ int ans=0; for(int i=0;i<quantitiesSize;i++) { ans+=quantities[i]/mid; ans=quantities[i]%mid==0?ans:ans+1; } return ans<=n;}//二分法int minimizedMa...

2022-05-01 15:57:54 103

原创 【刷题】leetcode-41.缺失的第一个正数

void Swap(int*a,int*b){ int tmp=*a; *a=*b; *b=tmp;}//遍历一次数组把大于等于1的和小于数组大小的值放到原数组对应位置,然后再遍历一次数组查当前下标是否和值对应,如果不对应那这个下标就是答案,否则遍历完都没出现那么答案就是数组长度加1。int firstMissingPositive(int* nums, int numsSize){ for(int i=0;i<numsSize;i++) ...

2022-04-30 14:23:47 80

原创 【刷题】leetcode-31.下一个排列

void Swap(int*a,int*b){ int tmp=*a; *a=*b; *b=tmp;}void reverse(int*nums,int left,int right){ while(left<right) { Swap(nums+left,nums+right); left++; right--; }}void nextPermutation(int* num...

2022-04-30 10:31:02 55

原创 【刷题】leetcode-198.打家劫舍

动态规划思想int Max(int a,int b){ if(a>b) return a; else return b;}int rob(int* nums, int numsSize){ if(numsSize==1) return nums[0]; else if(numsSize==2) return Max(nums[0],nums[1]); int*s=(int*)malloc(sizeof(...

2022-04-27 15:13:21 61

原创 【刷题】leetcode-567.字符串的排列

解法:滑动窗口bool checkInclusion(char* s1, char* s2) { int n = strlen(s1), m = strlen(s2);//n,m分别对应1,2的长度 if (n > m) {//如果字符串1大于字符串2的长度直接返回false return false; } int cnt[26];//建立小写字母数组 memset(cnt, 0, sizeof(cnt));//为每个字母对应的数组空位..

2022-04-26 11:56:44 104

原创 【刷题】leetcode-3.无重复字符最长字串

int lengthOfLongestSubstring(char * s){ int arr[128]={0};//记录字符出现的次数 int sum=0,max=0; int left=0; int len=strlen(s); for(int i=0;i<len;i++) { if(arr[s[i]]==0) { sum++; arr[s[i]]++;...

2022-04-26 10:58:43 89

原创 【刷题】leetcode-739.每日温度

/** * Note: The returned array must be malloced, assume caller calls free(). */ #define MAX_SIZE 100001int* dailyTemperatures(int* temperatures, int temperaturesSize, int* returnSize){ *returnSize = temperaturesSize; int *ans = (int*)calloc...

2022-04-25 09:08:34 195

原创 C语言实现快速排序(三种)

第一种:#include<stdio.h>void Swap(int*a,int*b){ int tmp=*a; *a=*b; *b=tmp;}int PartSort1(int* a, int left, int right)//快排{ int keyi = left; while (left < right) { //找小 while (left < right && a[right] >= a[k

2022-04-22 16:30:55 9160 2

原创 【刷题】leetcode-396.旋转数组

int maxRotateFunction(int* nums, int numsSize){ if(numsSize==1) return 0; int sum=0; for(int i=0;i<numsSize;i++) { sum=sum+nums[i]; } int f[100000]={0}; f[0]=0; for(int i=0;i<numsSize;i++) { ...

2022-04-22 15:52:37 364

原创 【刷题】leetcode算法入门-二分查找

int search(int* a, int numsSize, int target){ int left=0,right=numsSize-1; if(left==right&&a[left]==target) return left; while(left<right) { while(a[left]!=target&&a[right]!=target&&left<rig...

2022-04-21 15:23:19 94

原创 【算法】常见的几种排序算法

一、冒泡排序(时间复杂度O(n^2))void BubbleSort(int* a, int n)//冒泡排序{ for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (a[j] > a[j + 1]) { int tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp; } } }}二、选

2022-04-21 15:10:31 1328

原创 【刷题】leetcode-6.z字形变换

char * convert(char * s, int numRows){ if(numRows == 1) return s; int length = strlen(s); char *result = (char*)malloc(sizeof(char)*(length + 1)); int number = 0; int n = 2 * numRows - 2; for(int i = 0;i < numRows;i...

2022-04-20 22:42:23 235

原创 【刷题】leetcode-11.盛水最多的容器

int maxArea(int* height, int heightSize){ int max=0,h=0; int left=0,right=heightSize-1; while(left<right) { //无论左边指针还是右边指针移动,底的值都会减1,所有要把两边高中高的高留下了 int h=height[right]>height[left]?height[left]:height[right]; ...

2022-04-20 22:40:21 192

原创 【刷题】leetcode-16最接近的三数之和

void Swap(int* a, int* b){ int tmp = *a; *a = *b; *b = tmp;}int PartSort3(int* a, int left, int right){ int keyi = left; int prev = left, cur = left + 1; while (cur <= right) { if (a[cur] < a[keyi] && a[++prev] != a[cur]) ...

2022-04-20 22:38:31 58

原创 归并排序的实现(c语言版本)

#include<stdio.h>#define ArrLen 20void printList(int arr[], int len) { int i; for (i = 0; i < len; i++) { printf("%d ", arr[i]); }}void merge(int arr[], int start, int mid, int end) { int result[ArrLen]; int k = 0; int i = start; int.

2022-04-20 22:34:26 839

空空如也

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

TA关注的人

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