首页
关于
在线观影
数据统计
在线直播
在线壁纸
更多
友情链接
Search
1
记录一次网站的崩溃历史!
43 阅读
2
欢迎使用 Typecho
35 阅读
3
如何免费利用授权服务器(License Server)激活Jetbrains全家桶
31 阅读
4
宝塔9.5.0开心版本 - 破解版 - 无后门版本
28 阅读
5
力扣509斐波那契数列
27 阅读
C/C++
Python
技术分享
前端项目学习
Vue
日常分享
登录
/
注册
Search
标签搜索
苹果cms
苹果cms问题
苹果cmsseo
Vue学习
RSS
RSS订阅
Django
Pycharm
Python
前后端不分离项目
影视网站
前端项目
DeepSeek
蒸馏模型
LLM
大语言模型
VUE
海绵博客
订阅教程
信息获取
小菩提
累计撰写
92
篇文章
累计收到
11
条评论
首页
栏目
C/C++
Python
技术分享
前端项目学习
Vue
日常分享
页面
关于
在线观影
数据统计
在线直播
在线壁纸
友情链接
搜索到
64
篇与
的结果
2024-11-25
力扣509斐波那契数列
很经典的题目 直接上代码斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给定 n ,请计算 F(n) 。上代码int fib(int n) { if(n == 1){ return 1; }else if(n == 0){ return 0; } int i = 0; int arr[n + 1]; arr[0] = 0; arr[1] = 1; for(i = 2;i<=n;i++){ arr[i] = arr[i - 1]+arr[i - 2]; } return arr[n]; }
2024年11月25日
27 阅读
6 评论
0 点赞
力扣575分糖果
2024年11月24日
8 阅读
0 评论
0 点赞
2024-11-24
这个题目还是一如既往的有意思Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的 最多 种类数。示例 1:输入:candyType = [1,1,2,2,3,3]输出:3解释:Alice 只能吃 6 / 2 = 3 枚糖,由于只有 3 种糖,她可以每种吃一枚。示例 2:输入:candyType = [1,1,2,3]输出:2解释:Alice 只能吃 4 / 2 = 2 枚糖,不管她选择吃的种类是 [1,2]、[1,3] 还是 [2,3],她只能吃到两种不同类的糖。示例 3:输入:candyType = [6,6,6,6]输出:1解释:Alice 只能吃 4 / 2 = 2 枚糖,尽管她能吃 2 枚,但只能吃到 1 种糖。因为我刚开始想的是哈希算法+贪心算法即可。或者哈希算法即可所以说我按照往常哈希上 然后看里面有多少种 然后和要吃的进行比较看那个大就选择哪个然后就有了下面的代码int distributeCandies(int* candyType, int candyTypeSize) { int candyCanEat = candyTypeSize / 2; int c[1000] = {0}; int i = 0; for(i;i<candyTypeSize;i++){ c[candyType[i]]++; } int sum = 0; for(i = 0;i<candyTypeSize;i++){ if(c[i] > 0){ sum++; } } int eat = sum < candyCanEat? sum : candyCanEat; return eat; }但是!!!报错了很明显的数组不对 然后我加代码,但是一直范围不够,后来我想实际开发中不太现实于是我看了一下其他大佬的思路我直接上代码int cmp(const void* a, const void* b) { return *(int*)a - *(int*)b; } int distributeCandies(int* candyType, int candyTypeSize){ qsort(candyType, candyTypeSize, sizeof(int), cmp); int count = 1; //糖果的种类 for (int i = 1; i < candyTypeSize; i++) { if (candyType[i - 1] != candyType[i]) { count++; } } return fmin(count, candyTypeSize / 2); } 怎么说呢 和我感觉思路是一样的 但是他没用哈希,直接进行了一个qsort排序 然后循环 看有多少种糖果。最后选择一个最小的即可,我只能说,大佬终究是大佬
2024-11-23
力扣455分发饼干
这个题目属于很典型的贪心算法,贪心算法的具体可以见我下一篇博文,我将会有很详细的解释,我接下来先当着这道题目进行一个简单的解释假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释: 你有三个孩子和两块小饼干,3 个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是 1,你只能让胃口值是 1 的孩子满足。所以你应该输出 1。示例 2:输入: g = [1,2], s = [1,2,3]输出: 2解释: 你有两个孩子和三块小饼干,2 个孩子的胃口值分别是 1,2。你拥有的饼干数量和尺寸都足以让所有孩子满足。所以你应该输出 2。很简单的思想,我们如何先对g和s进行排序的话,那么我们就按照g的1 2 3 s的1 1 那么我们可以很轻松的推出来,g的第一个和s的第一个开始进行匹配需要注意的是 我们需要注意qsort的函数的使用方法void qsort(void base, size_t nitems, size_t size, int (compar)(const void , const void ));以上是qsort函数的内部参数,base:指向要排序的数组的起始地址的指针,它可以是任何类型的数组,因为它被声明为 void * 类型,这是一个通用指针类型,可以指向任意类型的数据。nitems:要排序的数组中的元素个数。size:数组中每个元素的大小,以字节为单位。这个参数很重要,因为 qsort 需要知道每个元素的实际大小,以便正确地对数组进行操作。compar:一个指向比较函数的指针,这个比较函数用于确定数组中元素的排序顺序。比较函数需要接受两个 const void * 类型的参数,并返回一个整数,用于表示两个元素的相对大小关系。第三个参数需要注意一下就是需要指明是如传入的比如接下来的写法就是从大到小的排序 int cmp(const voida,const voidb){return (int)b - (int)a}因为他返回的是一个负值那么默认会把b排到a前面,接下来就是上真正的代码了int cmp(const void*a,const void*b) { return *(int*)a - *(int*)b; } int findContentChildren(int* g, int gSize, int* s, int sSize) { qsort(g,gSize,sizeof(int),cmp); qsort(s,sSize,sizeof(int),cmp); int i = 0; int j = 0; for(j;j<sSize;j++){ if(i<gSize && g[i] <= s[j]){ i++; } } return i; }
2024年11月23日
4 阅读
0 评论
0 点赞
2024-11-22
力扣日常更新字符串中的第一个唯一的字符
这个题目还是日常的哈希算法,难度很低。还是分享一下把先上题目给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。示例 1:输入: s = "leetcode"输出: 0示例 2:输入: s = "loveleetcode"输出: 2示例 3:输入: s = "aabb"输出: -1还是老思路,把里面的数字排序放到一个新数组里面,然后进行循环遍历,如果等于1的话 就直接拿出来。思路有了。DEV启动!int firstUniqChar(char* s) { int c[128] = {0}; int i = 0; for(i;i<strlen(s);i++){ c[s[i]]++; } for(i = 0;i<strlen(s);i++){ if(c[s[i]] == 1){ return i; } } return -1; }
2024年11月22日
8 阅读
0 评论
0 点赞
2024-11-21
力扣409最长回文串
最长回文串一眼哈希算法,给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。示例 1:输入:s = "abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。示例 2:输入:s = "a"输出:1解释:可以构造的最长回文串是"a",它的长度是 1。直接上代码int longestPalindrome(char* s) { int c[128] = {0},ret = 0; int i = 0; for(i = 0;i<strlen(s);i++){ c[s[i]]++; } for(i = 0;i<128;i++){ ret+=c[i] - c[i]%2; } return ret+(ret!=strlen(s)); }原理很简单,就是数学题目
2024年11月21日
7 阅读
0 评论
0 点赞
1
...
8
9
10
...
13