C语言
C语言各种知识
用C刷的题
一些算法的理解和C实现
Kreastine
这个作者很懒,什么都没留下…
展开
-
leetcode - 890. 查找和替换模式
写两个哈希表:words->pattern, pattern->words,当映射对不上时,说明不对。原创 2023-03-14 21:44:38 · 182 阅读 · 0 评论 -
leetcode - 2120.执行所有后缀指令
坑: ①while循环条件:不写index < len 会 buffer-overflow ②while拦截了走超边界,但没拦住已经走超了但是可执行指令数多增加了一个,所以需要在走完后,indeNum++前 检查一下row 和 col是不是已经超了。遍历从每个指令开始走的情况,把方向指令翻译成坐标变化,只要不超过范围以及指令走完,就给可执行指令数++。原创 2023-03-14 21:44:18 · 214 阅读 · 0 评论 -
leetcode - 844. 比较含退格的字符串
leetcode - 844. 比较含退格的字符串原创 2023-02-11 14:15:30 · 223 阅读 · 0 评论 -
leetcode 2423. 删除字符使频率相同
LeetCode 2423. 删除字符使频率相同原创 2023-02-11 11:51:05 · 200 阅读 · 0 评论 -
LeetCode 821. 字符的最短距离
LeetCode 821. 字符的最短距离原创 2023-02-10 15:50:18 · 57 阅读 · 0 评论 -
LeetCode-1518 换水问题
LeetCode 1518 换水问题原创 2023-02-09 19:55:50 · 119 阅读 · 0 评论 -
LeetCode-819 最常见的单词
leetcode 819. 最常见的单词原创 2023-02-09 18:12:59 · 101 阅读 · 0 评论 -
LeetCode-1805 字符串中不同整数的数目
leetcode-1805 字符串中不同整数的数目原创 2023-02-08 16:17:06 · 57 阅读 · 0 评论 -
LeetCode - 347. 前 K 个高频元素
力扣刷题原创 2022-10-25 21:52:18 · 132 阅读 · 0 评论 -
LeetCode - 974.和可被k整除的子数组
题目思路代码实现原创 2022-05-28 11:32:04 · 201 阅读 · 1 评论 -
LeetCode - 523 连续的子数组和
题目思路这题暴力解法是遍历所有的子数组以及计算其和,每次判断是否符合条件(是K 的倍数),但这种做法会超时,需要优化。如果事先计算出数组 numsnumsnums 的前缀和数组,则对于任意一个子数组,都可以在 O(1) 的时间内得到其元素和。用 prefixSums[i]prefixSums[i]prefixSums[i] 表示数组 numsnumsnums 从下标 0 到下标 i 的前缀和,则 numsnumsnums 从下标 p+1p+1p+1 到下标 qqq(其中 p<q)的子数组的长原创 2022-05-27 10:57:15 · 109 阅读 · 0 评论 -
LeetCode - 560 和为k的子数组
题目思路利用前缀和,由于 pre[i]=pre[i−1]+nums[i]pre[i] = pre[i-1] + nums[i]pre[i]=pre[i−1]+nums[i],则任意一段和为 k 的子数组可以表示为 pre[i]−pre[j]=k=>pre[i]=pre[j]+kpre[i] - pre[j] = k => pre[i] = pre[j] +kpre[i]−pre[j]=k=>pre[i]=pre[j]+k;由于不同段的子数组可能出现不同的和,也有可能出现重复原创 2022-05-24 14:07:06 · 69 阅读 · 0 评论 -
LeetCode - 901.股票价格跨度
题目思路①默认代码里需要自定义结构体、初始化、功能以及内存释放,故在结构体定义里可以同时定义好单调栈和一个用来记录当前结果的数组,以及栈顶指针;则在初始化里可以为存结果的数组申请内存,以及将栈顶指针初始化为 -1;②在实现中:因为题目要找比当前小的股票价格(即以当前价格为基础,往前查找,如果找到比当前小于或等于的价格,则计入天数),故使用单调递减栈。栈顶指针永远指向当前找到的最大的元素(价格),当遇到比栈顶更大的元素时,则认为栈顶以及栈顶之前的元素都找到了答案(可以计算这些元素的价格跨度了),故将这些原创 2022-05-23 14:10:42 · 188 阅读 · 0 评论 -
LeetCode - 503下一个更大元素
单调栈解决数组中找到下一个更大元素原创 2022-05-23 12:02:32 · 342 阅读 · 0 评论 -
LeetCode-739.每日温度
完整程序:#include<stdio.h>#include<stdlib.h>//int *result;/** * Note: The returned array must be malloced, assume caller calls free(). */int* dailyTemperatures(int* temperatures, int temperaturesSize, int* returnSize){ int *result.原创 2022-05-17 11:03:35 · 138 阅读 · 0 评论