算法
半零落
少年何惧岁月长
展开
-
Longest Substring Without Repeating Characters
Example 1:Input: s = “abcabcbb”Output: 3Explanation: The answer is “abc”, with the length of 3.Example 2:Input: s = “bbbbb”Output: 1Explanation: The answer is “b”, with the length of 1.Example 3:Input: s = “pwwkew”Output: 3Explanation: The answer i原创 2022-06-10 21:59:34 · 122 阅读 · 0 评论 -
7-2 汽车加油问题 (20分) 一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。
一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。输入格式:第一行有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。 第二行有 k+1 个整数,表示第 k 个加油站与第k-1 个加油站之间的距离。 第 0 个加油站表示出发地,汽车已加满油。 第 k+1 个加油站表示目的地。输出格式:输出最少加油次数。如果无法到达目的地,则输出“No Solution!”。输入样原创 2020-06-08 11:58:22 · 18002 阅读 · 7 评论 -
7-1 装箱问题 (20分) 假设有N项物品,大小分别为s 1 、s 2 、…、s i 、…、s N ,其中s i 为满足1≤s i ≤100的整数。
输入格式:输入第一行给出物品个数N(≤1000);第二行给出N个正整数si(1≤si≤100,表示第i项物品的大小)。输出格式:按照输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。输入样例:860 70 80 90 30 40 10 20输出样例:60 170 280 390 430 140 510 120 25代码:#include <stdio.h>#include <原创 2020-06-08 11:55:50 · 6795 阅读 · 0 评论 -
求叠数(递归版) (10分)
请编写递归函数,生成叠数。函数原型int Redup(int n, int d);说明:参数 d 为数字,n 为重复次数,函数值为数字 d 重复 n 次的正整数。若 n 或 d 为零或负数,则函数值为0。裁判程序#include <stdio.h>int Redup(int n, int d);int main(){ int n, d; scanf("%d%d", &n, &d); printf("%d\n", Re原创 2020-05-25 19:51:26 · 4810 阅读 · 0 评论 -
自然数的位数(递归版) (10分)
6-3 自然数的位数(递归版) (10分)请编写函数,求自然数的位数。函数原型int NumDigit(int number);说明:参数 number 为非负整数。函数值为 number 的位数。若 number 为零,则函数值为零。裁判程序#include <stdio.h>int NumDigit(int number);int main(){ int n; scanf("%d", &n); printf("%d\n"原创 2020-05-25 19:52:23 · 4150 阅读 · 0 评论 -
求阶乘序列前N项和 (15分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。输入样例:5输出样例:153#include <stdio.h>double fact( int n ){ if(n==1||n==0) return 1; else return fact(n-1)*n;}double factsum( int n原创 2020-05-25 09:34:22 · 1324 阅读 · 0 评论 -
排序算法(C语言)
1.合并排序#include <stdio.h>#include <stdlib.h>void hebinMAX(int a[],int mid,int low,int high,int q[]){ int i=low; int j=mid+1; int p=0; while(i<=mid&&j<=h...原创 2020-04-07 18:21:07 · 325 阅读 · 0 评论 -
整数划分
例如:代码实现:#include <stdio.h>#include <stdlib.h>int HL(int n,int m){ if(n == 1 || m == 1) return 1; else if(n < m) return HL(n,n); else if(n == m) return HL(n,n-1) + 1;...原创 2020-03-22 12:18:43 · 134 阅读 · 0 评论