#你必须知道的495个C语言问题

算法笔记_019:背包问题(Java)

/目录1问题描述2解决方案2.1蛮力法2.2减治法2.2.1递归求解2.2.2非递归求解(运用异或运算)2.3动态规划法给定n个重量为w1,w2,w3,...,wn,价值为v1,v2,...,vn的物品和一个承重为W的背包,求这些物品中最有价值的子集(PS:每一个物品要么选一次,要么不选),并且要能够装到背包。附形象描...

算法笔记_029:约瑟夫斯问题(Java)

/目录1问题描述2解决方案引用自《算法设计与分析基础》第三版:约瑟夫斯问题,是以弗拉瓦斯。约瑟夫斯(FlaviusJosephus)的名字命名的。约瑟夫斯是一个著名的犹太历史学家,参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫斯作为一个将军,设法守住了裘达伯特的堡垒达47天之久,但在城市陷落了以后...

算法笔记_031:计算中值和选择问题(Java)

/目录1问题描述 2解决方案2.1计算中值问题2.2选择问题中值问题是求一个n个数列表中某一数组下标k,它要求该下标元素比列表中的一半元素大,又比另一半元素小,这个中间的值被称为中值。 选择问题是求一个n个数列表的第k个最小元素的问题。  本文使用Lomuto划分算法思想,此处引...

算法笔记_045:币值最大化问题(Java)

/目录1问题描述2解决方案2.1动态规划法给定一排n个硬币,其面值均为正整数c1,c2,...,cn,这些整数并不一定两两不同。请问如何选择硬币,使得在其原始位置互不相邻的条件下,所选硬币的总金额最大。本文所写代码思想参考自《算法设计与分析基础》第三版上一段讲解,具体如下:  具体代码如下:pack...

算法笔记_046:跳台阶问题(Java)

/目录1问题描述2解决方案2.1递归法2.2迭代法一个台阶总共有n级,如果一次可以跳1级,也可以跳2级,求总共有多少种跳法。如果整个台阶只有1级,则显然只有一种跳法。如果台阶有2级,则有两种跳法:一种是分两次跳,每次跳1级;另一种是一次跳2级。推广到一般情况。则可以把n级台阶时的跳法看成是n的函数,记为f(n)。当n&...

算法笔记_048:找零问题(Java)

/目录1问题描述2解决方案2.1动态规划法现需找零金额为n,则最少需要用多少面值为d1<d2<d3<...<dm的硬币?(PS:假设这m种面值d1<d2<d3<...<dm的硬币,其中d1=1,且每种硬币数量无限可得)本文编码思想参考自《算法设计与分析基础》第三版,具体讲...

算法笔记_050:硬币收集问题(Java)

/目录1问题描述2解决方案2.1动态规划法在n*m格木板中放有一些硬币,每格的硬币数目最多为一个,在木板左上方的一个机器人需要收集尽可能多的硬币并把它们带到右下方的单元格。每一步,机器人可以从当前的位置向右移动一格或向下移动一格。当机器人遇到一个有硬币的单元格时,就会将这枚硬币收集起来。设计一个算法找出机器人能找到的最...

算法笔记_051:荷兰国旗问题(Java)

/目录1问题描述2解决方案现有n个红白蓝三种不同颜色的小球,乱序排列在一起,请通过两两交换任意两个球,使得从左至右的球依次为红球、白球、蓝球。这个问题之所以叫荷兰国旗,是因为将红白蓝三色的小球弄成条状物,并有序排列后正好组成荷兰国旗。为了方便编码与讨论,用数字0表示红球,数字1表示白球,数字2表示蓝球,所以最后生成的排...

算法笔记_059:蓝桥杯练习 Anagrams问题(Java)

/目录1问题描述2解决方案问题描述  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR&rd...

算法笔记_072:N皇后问题(Java)

/目录1问题描述2解决方案把n个皇后放在一个n*n的棋盘上,使得任何两个皇后都不能相互攻击,即它们不能同行,不能同列,也不能位于同一条对角线上。本文采用全排列的方法,从n个皇后的全排列中寻找符合规则的皇后排列。 为什么这里是说全排列呢?因为在N皇后问题中,棋盘每一行只准放一个皇后,且每一行的皇后必定要选一列。...

算法笔记_073:哈密顿回路问题(Java)

/目录1问题描述2解决方案什么是哈密顿回路?引用自百度百科:哈密顿图(哈密尔顿图)(英语:Hamiltonianpath,或Traceablepath)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Ham...

算法笔记_074:子集和问题(Java)

/目录1问题描述2解决方案2.1全排列思想求解2.2状态空间树思想求解求n个正整数构成的一个给定集合A={a1,a2,a3,...,an}的子集,子集的和要等于一个给定的正整数d。请输出所有符合条件的子集。   本文下面编码思想参考自文末参考资料1,下面的思想讲解直接引用文末参考资料1。方...

算法笔记_119:蓝桥杯第六届省赛(Java语言A组)试题解答

/ 目录1熊怪吃核桃2星系炸弹3九数分三组4循环节长度5打印菱形6加法变乘法7牌型种数8移动距离9垒骰子10灾后重建 前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 熊怪吃核桃森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一...

算法笔记_120:蓝桥杯第六届省赛(Java语言B组部分习题)试题解答

/ 目录1三角形面积2立方变自身3三羊献瑞4九数组分数5饮料换购6生命之树 前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 三角形面积如【图1】所示。图中的所有小方格面积都是1。那么,图中的三角形面积应该是多少呢?请填写三角形的面积。不要填写任何多余内容或说明性...

算法笔记_121:蓝桥杯第六届省赛(Java语言C组部分习题)试题解答

/ 目录1隔行变色2立方尾不变3无穷分数4格子中输出5奇妙的数字6打印大X  前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 隔行变色Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。小明设计的样式为:第1行蓝色,第2行...
首页上一页...4243444546...下一页尾页