C语言
皮_客
看完了点个赞呗 _φ_(. . )
展开
-
无重复字符的最长子串(C++)
请你找出其中不含有重复字符的。因为无重复字符的最长子串是。原创 2023-07-03 18:36:38 · 1207 阅读 · 0 评论 -
两数之和(C++)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。链接:https://leetcode.cn/problems/two-sum。来源:力扣(LeetCode)用双循环嵌套,暴力求解即可。你可以按任意顺序返回答案。原创 2023-05-04 11:27:40 · 99 阅读 · 1 评论 -
韩信走马分油(C语言)
任务描述泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最后使得某个容器中正好有6升油。下面的列表是可能的操作状态记录:12,0,04,8,04,3,59,3,0原创 2022-04-08 18:44:04 · 1607 阅读 · 1 评论 -
N皇后(C语言)
任务描述本关任务:国际象棋中的皇后可以沿着水平线,垂直线,或者斜线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,1970年与1971年, E.W.Dijkstra与N.Wirth曾经用这个问题来讲解程式设计之技巧。该题要求N皇后的放置结果共有多少种。相关知识回溯法测试说明平台会对你编写的代码进行测试:输入描述:输入一个正整数N(N小于16)输出描述:输出结果例 测试输入:8预期输出:92解析:放置皇后时,对所有列进行遍历,并且一原创 2022-04-08 17:01:12 · 993 阅读 · 0 评论 -
事件安排(C语言)
任务描述本关任务:小张最近很忙,记事本里有n件事情等待处理,每件事处理完毕后,能得到不同的奖励,而且都有一个截止日。一件事处理需要一整天时间,并且小张不能同时干其他事情。请你替小张安排一个事情处理的时间表,争取获得最大的奖励。相关知识贪心算法。测试说明平台会对你编写的代码进行测试:测试输入:第一行输入整数n,表示n个事情。随后输入n行,每行包括一个事情的截止日(不大于n)和处理收益。测试输出:输出最大的总收益。例 测试输入:5 2 52 72 62 83 3预期输原创 2022-04-08 16:17:07 · 918 阅读 · 0 评论 -
0-1背包问题(C语言)
任务描述本关任务:编写一个能求解0-1背包问题的程序。相关知识为了完成本关任务,你需要掌握如何编写动态规划程序有一个背包,能装载的总重量为C<300, 有 n<100个物体,每个物体的重量为wi>0,价值为vi>0, 从中选取一些物体装入背包,要求这些物体的总价值最大。编程要求根据提示,在右侧编辑器编写函数代码void knapsack(int n, int C, int w[], int v[], int x[])其中,n是物体个数,C是背包容量,w原创 2022-03-25 13:00:30 · 2033 阅读 · 1 评论 -
最长公共子序列(C语言)
任务描述本关任务:编写一个求最长公共子序列的程序。相关知识两个序列A[m]=(a1,...,am),B[n]=(b1,b2,...,bn),它的公共子序列是C[k]=(c1,...,ck),其中ci来自于A和B,并且C中的顺序不违反A和B中的顺序。即如果ci和ci+1是A中的as,at,则s<t. 我们要得到长度最大的C。例如 A[]={1,2,3,4,5},B[]={2,5,7},则C={2,5}请你写一个函数 void LCS(int A[], int m原创 2022-03-24 17:42:36 · 2029 阅读 · 1 评论 -
最大字段和(动态规划,C语言)
递推关系对于数组A[]={1,2,3,-4,-3,2,1},如果有一个函数endsum(j),求出以位置j为终止点的最大子段和,则满足if(endsum(j-1)>0)endsum(j)=endsum(j-1)+A[j]elseendsum(j)=A[j] 因为此时A[j]前面的元素只能降低和上述递推关系是针对endsum而最大子段和maxsum= max(endsum(0),endsum(1),...endsum(N-1))测试说明平台会对你编写的代码进行测试:输入原创 2022-03-24 10:31:41 · 3389 阅读 · 0 评论 -
走地图(C语言)
任务描述本关任务:在一个nxn的棋盘上,某人站在方格(0, 0),他只能向下或者向右,而且只能在棋盘的上三角中行走,问他走到(n-1, n-1)有多少种走法。编写一个程序计算。编程要求根据提示,在右侧编辑器编写代码,输入一个n, 要求输出从方格(0, 0),走到(n-1, n-1)有多少种走法。测试说明平台会对你编写的代码进行测试:测试输入:6预期输出:42解析:经典的动态规划,使用动态数组及经典模板即可。/********以下编写完整代码****************原创 2022-03-12 23:30:08 · 2622 阅读 · 0 评论 -
合并排序(C语言)
任务描述本关任务:实现合并排序算法。编程要求根据提示,在右侧编辑器编写代码,完成合并排序的函数。MergySort(int A[],int start, int end) ,它能将A[]数组的start到end位置的元素,用合并排序的思想完成排序。测试说明平台会对你编写的代码进行测试:输入:A={1 3 8 4 9 7 5 2 6 10}, start=0, end=9结果:A={1 2 3 4 5 6 7 8 9 10}解析:对序列不断地对半分,先分前半部分,一直分到只有一个原创 2022-03-12 23:27:49 · 7071 阅读 · 0 评论 -
二分搜索(C语言)
任务描述本关任务:一组从小到达排列的整数,编写一个能完成二分搜索的函数。编程要求根据提示,在右侧编辑器补充代码,其中A是待搜索的线性表,start和end定义搜索范围的起始和终止元素下标,x是待搜索的元素值。如果在A[start]和A[end]之间找到x,则返回其下标k,否则返回-1.测试用例输入:A[]={1,2,3,4,5},start=0, end=4, x=2返回值:1解析:因为是有序正向排列的数组,每次取数组的中间位置。当目标值小于中间值时,对前半部分进行搜索,原创 2022-03-11 14:53:51 · 1653 阅读 · 0 评论 -
打印字符串(C语言,全排列)
题:输入一个小于26的数字n, 代表从字母a开始的一串长度为n的连续字符,如4表示abcd。 请输出这串字符的所有可能排列。根据提示,补充一个函数int print(int n,char result[][27]),其中n是输入的字符数目,你需要生成全排列,并填写到result数组中。如果需要,你也可以自己在编辑器中添加子函数。例:n=3时result前6行包含:abcacbbacbcacabcba(提示:result的行次序并不重要,只要是这6个即可)解析:n个值得全排原创 2022-03-07 21:25:22 · 3637 阅读 · 0 评论 -
台阶问题(C语言)
题目:台阶总共有n级,一次可以上1级,也可以上2级。总共有多少种走法?解析:一级台阶有一种走法,两级台阶有两种走法,当第一步走了一级台阶时,剩下f(n-1)种走法,当第二步走了两级台阶时,剩下f(n-2)种走法。#include<stdio.h>int sumn(int n){ if (n == 2 || n == 1) return n; else return sumn(n-1) + sumn(n-2); }int main()原创 2022-03-02 11:50:51 · 6447 阅读 · 0 评论 -
多边形对角线条数(C语言)
题:n边形有多少条对角线?#include<stdio.h>int sumn(int n){ if (n <= 3) return 0; else{ int j = n; return (sumn(n-1) + j - 2); } }int main(){ int n ; scanf("%d", &n); int res = sumn(n);原创 2022-03-02 10:40:33 · 621 阅读 · 0 评论