- 博客(55)
- 资源 (2)
- 收藏
- 关注
原创 Leetcode 剑指 Offer 14- I. 剪绳子(DAY 34)
原题题目代码实现(首刷自解)int cuttingRope(int n){ int dp[59] = {0},i,j; dp[0] = 0,dp[1] = 1; for(i=2;i<=n;i++) { if(i != n) dp[i] = i; for(j=1;j<=i/2;j++) dp[i] = fmax(dp[i],dp[j]*dp[i-j]); } r
2021-01-30 11:19:48 137
原创 Leetcode 646. 最长数对链(DAY 34) ---- 动态规划学习期
原题题目代码实现(首刷自解)int cmp(const void *a,const void *b){ int* x = *(int**)a; int* y = *(int**)b; return x[1] - y[1];}int findLongestChain(int** pairs, int pairsSize, int* pairsColSize){ qsort(pairs,pairsSize,sizeof(int*),cmp); int d
2021-01-30 11:10:15 157
原创 Leetcode 1024. 视频拼接(DAY 33) ---- 动态规划学习期
原题题目代码实现(首刷大部分看解小部分自解 ????)int videoStitching(int** clips, int clipsSize, int* clipsColSize, int T){ int dp[101] = {0},i,j; dp[0] = 0; for(i=1;i<=T;i++) { if(dp[i-1] == INT_MAX-1) return -1; dp[i] = INT_M
2021-01-29 15:09:10 343
原创 Leetcode 309. 最佳买卖股票时机含冷冻期(DAY 33) ---- 动态规划学习期
原题题目代码实现(首刷大部分看解小部分自解)int maxProfit(int* prices, int pricesSize){ if(!pricesSize) return 0; int dp[pricesSize+1][3],i,money = 0; dp[0][0] = dp[0][2] = 0,dp[0][1] = -prices[0]; for(i=1;i<pricesSize;i++) { dp[i][0]
2021-01-29 13:41:19 243
原创 CSAPP Lab1 实验记录 ---- Data Lab
前引由于昨天才把函数调试给弄好 环境配置 虚拟机那些所以上午刷完了三道力扣 下午就来把Lab1给做了如果有环境配置不会的同学 可以看一下我之前写的博客下面给出链接错不在我的 CSAPP环境配置 Ubuntu虚拟机安装 Vmwaretools安装图文教程问题1//自解代码如下 (违规使用 |符号)int bitXor(int x, int y) { return (~((~x & ~y) | (x & y)));}//改进代码如下int bitXor(in
2021-01-28 20:08:25 1086
原创 Leetcode 1504. 统计全 1 子矩形(DAY 32) ---- 动态规划学习期
原题题目题解Leetcode官方题解图文视频清晰解答代码实现(首刷大部分看解小部分自解)int numSubmat(int** mat, int matSize, int* matColSize){ int dp[151][151],i,j,k,count = 0,temp; for(i=0;i<matSize;i++) { memset(dp[i],0,sizeof(int) * matColSize[0]); for(j=0
2021-01-28 14:19:01 108
原创 Leetcode 486. 预测赢家(DAY 32) ---- 动态规划学习期
原题题目代码实现(首刷自解)bool predictsoftware(int* nums,int player,int score1,int score2,int frontpos,int backpos){ if(frontpos <= backpos) { if(player) return predictsoftware(nums,0,score1+nums[frontpos],score2,frontpos+1,backpos
2021-01-28 11:30:37 58
原创 Leetcode 279. 完全平方数(DAY 32) ---- 动态规划学习期
原题题目代码实现(首刷自解)效率较低int numSquares(int n){ int dp[11000] = {0},count = 2,temp = 4,j,i,tempcount,arr[101]; arr[0] = 0,arr[1] = 1; dp[0] = 0,dp[1] = 1,dp[2] = 2; for(i=3;i<=n;i++) { dp[i] = INT_MAX; if(i == temp)
2021-01-28 11:05:58 228
原创 Leetcode 343. 整数拆分(DAY 31) ---- 动态规划学习期
原题题目代码实现(首刷自解)int integerBreak(int n){ int dp[59] = {0},i,j,k,temp; dp[0] = 0,dp[1] = 1; for(i=2;i<=n;i++) { if(i!=n) dp[i] = i; for(j=1;j<=i/2;j++) { temp = dp[j] * dp[i-j];
2021-01-27 13:13:04 162
原创 Leetcode 516. 最长回文子序列(DAY 31) ---- 动态规划学习期
原题题目代码实现(首刷半看解半自解)int longestPalindromeSubseq(char * s){ int m = strlen(s),start = 0,end = 0,dp[m][m],maxlength = 1; for(end = 0;end < m ;end++) { for(start = end;start>=0;start--) { if(end - start <= 1
2021-01-27 12:40:38 161
原创 Leetcode 1143. 最长公共子序列(DAY 32) ---- 动态规划学习期
原题题目代码实现(首刷部分看解部分自解)int longestCommonSubsequence(char * text1, char * text2){ int x = strlen(text1),y = strlen(text2),i,j; int dp[y+1][x+1]; for(i=0;i<=x;i++) dp[0][i] = 0; for(i=0;i<=y;i++) dp[i][0] = 0; for
2021-01-27 10:52:44 163
原创 CSAPP WIN10虚拟机安装 UBuntu Vmware tools Lab入门测试 环境配置 安装摸索之路
前引因为之前在看一个华中科大的微信部门同学推荐的这本书说看完必做Lab这本书的价值如同黄金所以在两个月前学完数据结构 平时就开始在刷Leetcode的大一上寒假就打算把这本书先给入入门 看一下结果搞了半天 囫囵吞枣看了三章 啥都没看出来 到现在刚刚的时候 才把Lab1的测试 给弄好 就是可以算分数了 哎呀真给整麻了 整了整整的差不多1天刚开始装虚拟机 因为之前学汇编的时候就把Windows XP给装好了 同时也装了Linux 也弄了很久 估计不久的将来也会学习Linux看了一下 Lab的要求是L
2021-01-26 21:19:48 2857 1
原创 Leetcode 931. 下降路径最小和(DAY 31) ---- 动态规划学习期
原题题目代码实现(首刷自解)int minFallingPathSum(int** A, int ASize, int* AColSize){ int i,j,paths = INT_MAX; if(ASize == 1) return A[ASize-1][ASize-1]; for(i=0;i<ASize;i++) { for(j=0;j<AColSize[0];j++) { i
2021-01-26 14:02:23 157
原创 Leetcode 983. 最低票价(DAY 31) ---- 动态规划学习期
原题题目代码实现(首刷小部分看解大部分自解)int mincostTickets(int* days, int daysSize, int* costs, int costsSize){ int dp[366] = {0},i,j,count = 0; for(i=0;i<daysSize;i++) dp[days[i]] = 1; for(i=1;i<=365;i++) { if(dp[i]) {
2021-01-26 13:26:17 109
原创 Leetcode 62. 不同路径(DAY 31) ---- 动态规划学习期
原题题目代码实现(首刷自解)int uniquePaths(int m, int n){ int dp[m][n],i,j; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(!i && !j) dp[i][j] = 1; else if(!i && j)
2021-01-26 10:16:55 240
原创 Leetcode 413. 等差数列划分(DAY 30)---- 动态规划学习期
原题题目代码实现(首刷栈溢出 13/15 ????)int numberOfArithmeticSlices(int* A, int ASize){ if(!ASize) return 0; else { int dp[ASize][ASize]; int flag[ASize][ASize],i; for(i=0;i<ASize;i++) memset(flag[i],0,siz
2021-01-25 12:13:29 64
原创 Leetcode 647. 回文子串(DAY 30)---- 动态规划学习期(懒狗复工每日三道 图书馆永远的神)
原题题目代码实现(首刷看解 ???? )int countSubstrings(char * s){ int x = strlen(s); int dp[x][x],end,start,count=0; for(end=0;end<x;end++) { for(start = 0;start<=end;start++) { if(end - start <= 2)
2021-01-25 11:09:43 185
原创 Leetcode 712. 两个字符串的最小ASCII删除和(DAY 30)---- 动态规划好难 学习期(懒狗复工)
原题题目代码实现(首刷看解)int minimumDeleteSum(char * s1, char * s2){ int x = strlen(s1); int y = strlen(s2); int dp[y+1][x+1],i,j; dp[0][0] = 0; for(i=1;i<=x;i++) dp[0][i] = s1[i-1] + dp[0][i-1]; for(i=1;i<=y;i++) dp
2021-01-25 09:55:49 68
原创 Leetcode 1227. 飞机座位分配概率(DAY 29) ---- 动态规划学习期 (成功留校)
原题题目代码实现(首刷看解)double nthPersonGetsNthSeat(int n){ if(n==1) return 1; else return 1.0/n + ((double)(n-2)/n) * nthPersonGetsNthSeat(n-1);}
2021-01-24 13:18:05 160 2
原创 Leetcode 120. 三角形最小路径和(DAY 28) ---- 动态规划学习期
原题题目代码实现(首刷自解)int minimumTotal(int** triangle, int triangleSize, int* triangleColSize){ int y = triangleSize,x = triangleColSize[0],i,j,min = INT_MAX; for(i=0;i<y;i++) { for(j=0;j<triangleColSize[i];j++) {
2021-01-21 13:47:07 173
原创 Leetcode 剑指 Offer 47. 礼物的最大价值(DAY 28) ---- 动态规划学习期
原题题目代码实现(首刷自解)int maxValue(int** grid, int gridSize, int* gridColSize){ int m = gridSize,n = gridColSize[0]; int dp[m][n],i,j; dp[0][0] = grid[0][0]; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(i>=
2021-01-21 10:09:47 132
原创 Leetcode 96. 不同的二叉搜索树(DAY 28) ---- 动态规划学习期 (含题解)
原题题目思路图片 (官方题解)代码实现(首刷半看解半自解)int numTrees(int n){ int dp[30] = {0},count = 0,j,i; dp[0] = 1,dp[1] = 1,dp[2] = 2; for(i=3;i<=n;i++) { j = i,count = 0; do { count += (dp[i-j] * dp[j-1]);
2021-01-21 09:46:49 172
原创 Leetcode 714. 买卖股票的最佳时机含手续费(DAY 27) ---- 动态规划学习期
原题题目代码实现(首刷超暴力解法)超时int profit;void calculateprofit(int* prices,int pricesSize,int pos,int shares,int fee,int money){ if(money > profit) profit = money; if(pos < pricesSize) { if(!shares) calculatepro
2021-01-20 13:16:43 131
原创 Leetcode 1277. 统计全为 1 的正方形子矩阵(DAY 27) ---- 动态规划学习期
原题题目代码实现(半自解半看解)????int countSquares(int** matrix, int matrixSize, int* matrixColSize){ int i,j,count = 0; for(i=0;i<matrixSize;i++) { for(j=0;j<matrixColSize[0];j++) { if(i>=1 && j>=1 &&
2021-01-20 11:19:22 90
原创 Leetcode 877. 石子游戏(DAY 27) ---- 动态规划学习期
原题题目代码实现(首刷自解)bool judge(int* piles,int front,int back,int role,int alexsstone,int lisstone){ if(front != back) { if(!role) return judge(piles,front+1,back,1,alexsstone+piles[front],lisstone) || judge(piles,front,back-1,1,
2021-01-20 10:26:43 117 1
原创 Leetcode 面试题 08.01. 三步问题(DAY 26) ---- 动态规划学习期
原题题目代码实现(首刷自解)int waysToStep(int n){ long dp[1000001]; int i; dp[0] = 0,dp[1] = 1,dp[2] = 2,dp[3] = 4; for(i=4;i<=n;i++) dp[i] = ((dp[i-1]+dp[i-2]+dp[i-3]) % 1000000007); return dp[n];}
2021-01-19 18:51:51 69
原创 Leetcode 392. 判断子序列(DAY 26)---- 动态规划学习期 双百解法
原题题目代码实现(首刷自解) 但感觉没有用到DPbool isSubsequence(char * s, char * t){ int tpos = 0,spos = 0,lengtht = strlen(t),lengths = strlen(s); while(s[spos] && t[tpos] && lengtht >= lengths) { if(s[spos] == t[tpos]) {
2021-01-19 15:14:48 175
原创 Leetcode 70. 爬楼梯(DAY 26) ---- 动态规划学习期
原题题目代码实现(首刷自解)int climbStairs(int n){ if(n==1) return 1; else if(n==2) return 2; int dp1,dp2,tempdp,i; for(i=1;i<=n;i++) { if(i == 1) dp1 = 1; else if (i == 2) dp2 = 2;
2021-01-19 14:34:27 415 1
原创 Leetcode 面试题 17.16. 按摩师(DAY 26) ---- 动态规划学习期
原题题目代码实现(首刷自解)DP 一遍遍历int massage(int* nums, int numsSize){ if(!numsSize) return 0; int dp[1000] = {0},i,maxtime = -1; for(i=0;i<numsSize;i++) { if(i<=1) dp[i] = nums[i]; else if(i == 2)
2021-01-19 13:58:34 182
原创 Leetcode 746. 使用最小花费爬楼梯(DAY 26) ---- 动态规划学习期
原题题目代码实现(首刷自解) 一遍遍历 空间(n) 自底向上int minCostClimbingStairs(int* cost, int costSize){ int dp1,dp2,i,cost1,cost2,tempdp; for(i=0;i<costSize;i++) { if(i >= 2) { cost1 = cost[i] + dp1; cost2 = cost[i
2021-01-19 12:49:47 143
原创 Leetcode 121. 买卖股票的最佳时机(DAY 26) ---- 动态规划学习期
原题题目代码实现(首刷自解) 一遍遍历 但为什么效率极低int maxProfit(int* prices, int pricesSize){ int i,min = INT_MAX,max = -1,profit = -1; for(i=0;i<pricesSize;i++) { if(prices[i] < min) { min = prices[i]; max = price
2021-01-19 11:32:52 427
原创 Leetcode 剑指 Offer 42. 连续子数组的最大和(DAY 25)---- 动态规划学习期
原题题目代码实现(首刷自解)int maxSubArray(int* nums, int numsSize){ int sum = -101,tempsum = 0,i; for(i=0;i<numsSize;i++) { tempsum += nums[i]; if(tempsum > sum) sum = tempsum; if(tempsum < 0) t
2021-01-18 21:52:01 198 1
原创 Leetcode 303. 区域和检索 - 数组不可变(DAY 25) ---- 动态规划学习期
原题题目代码实现(首刷自解 暴力解法)typedef struct { int size; int* arr;} NumArray;NumArray* numArrayCreate(int* nums, int numsSize) { NumArray* obj = (NumArray*)malloc(sizeof(NumArray)); obj->size = numsSize; obj->arr = (int*)malloc(size
2021-01-18 21:34:02 117
原创 Leetcode 1025. 除数博弈(DAY 25)---- 动态规划学习期
原题题目代码实现(首刷自解超时) :(bool gametest(int N,int role){ if(N==1) { if(role) return true; else return false; } int temp = sqrt(N),i; for(i=1;i<=temp;i++) { if(!(N%i)) {
2021-01-18 19:59:00 88
原创 Leetcode 1402. 做菜顺序(DAY 25 Hard 含题解)----动态规划学习期
原题题目代码实现(首刷自解)int sumlove;//运用库函数 快速排序compare函数int cmp(const void* a,const void* b){ return *(int*)a - *(int*)b;}//进行遍历//进行排序后满意程度是由小到大 则我们需要做菜需要把满意度高的放在后面//则也需要把满意度低的先揽入菜品中 这样满意度高的乘的数才能大void calculate(int* satisfaction,int satisfactionS
2021-01-18 17:06:41 203
原创 Leetcode 338. 比特位计数(DAY 25高数线代终于考完)----动态规划学习期
原题题目代码实现(大部分自解小部分看解)/** * Note: The returned array must be malloced, assume caller calls free(). */int* countBits(int num, int* returnSize){ (*returnSize) = num+1; int i,count,temp; int* ret = (int*)malloc(sizeof(int) * (num+1)); f
2021-01-18 15:51:12 331
原创 Leetcode 1641. 统计字典序元音字符串的数目(DAY 24 动态规划开始 ---鸽子一星期准备考试)----动态规划学习期
原题题目鸽子有原因作为高数线代上课听了脑壳疼星人上课大部分时间都在睡觉(kuang ke)主要把时间留给了自己忙自己的去了线代复习了五天从零预习 到考完应该能及格高数复习了三天 到明天还没考试但是感觉应该也能及格后果断重新开始刷代码 开始寒假自习状态了代码实现(首刷自解)int count;void visit(int i,int n,int times){ if(times >= n) count++; else {
2021-01-17 17:02:35 175
原创 Leetcode 297. 二叉树的序列化与反序列化(DAY 23)(Hard细节挺多的 需要调试一会 含题解)
原题题目代码实现(首刷绝大部分自解)/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** Encodes a tree to a single string. */char* serialize(struct TreeNode* root) {
2021-01-11 20:56:28 329
原创 Leetcode 99. 恢复二叉搜索树(DAY 22 Hard含题解)
原题题目思路分析首先对于中序数组 比如【1、2、3、4、5、6】交换两个数 有两种情况 相邻的和不相邻的对于 相邻的两个数比如交换 2、3则得到【1、3、2、4、5、6】对于我们有序序列判断就是 前一个节点的值比当前节点的值小 对于第一个数前一个节点设置为NULL判断即可 则会出现一个逆序情况 3->2对于此时我们只需要交换这两个节点的值 2、3即可对于不相邻的两个数 比如交换 2、6则得到【1、6、3、4、5、2】 则会出现 6->3 5->2两个逆序情况此
2021-01-10 15:09:56 148
原创 Leetcode 1028. 从先序遍历还原二叉树(DAY 21)(划开新时代 Hard第一题 Hard含题解)
原题题目代码实现(有全局变量)/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */int pos;struct TreeNode* helper(char* S,struct TreeNode* root,int level){ int
2021-01-09 22:06:19 134
CSAPP Lab6 Malloc Lab 完整Traces(包含amptjp-bal.rep).zip
2021-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人