算法练习
分类别练习算法题目。
小赵起名困难户
学习记录日志ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
回溯法——LQ_04 2n皇后
(原题来自蓝桥杯训练题)给定一个nxn的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?原创 2024-06-07 07:48:50 · 289 阅读 · 0 评论 -
回溯法——字典序组合
从整数 1 至 n 中选出 m 个数,按字典序排列输出。原创 2024-06-06 11:09:20 · 449 阅读 · 0 评论 -
回溯法——跳房子
跳房子是小朋友玩的游戏。地面上画出一连串格子,每个格子里有一个整数,小朋友从外面跳入格子,并继续往前跳,直到跳出所有格子。每次跳跃的规则是,可以跳入下一格或下下格或下下下格。怎么跳能让落脚格子里的数的累加和最小。原创 2024-06-06 11:07:40 · 962 阅读 · 0 评论 -
回溯法——0/1背包
有一个背包的最大能承受的重量是 M ,有 n 个物品,每个物品有各自的重量和价值,计算在不超出背包最大承重限制下,背包中物品最大价值可以是多少?原创 2024-06-06 11:06:34 · 407 阅读 · 0 评论 -
回溯法——桥本分数
将1-9九个数不重复地赋给不同的9个元素 ,实现形如a/bc+d/ef=f/hi 的形式。例:1/26+5/78=4/39 1/32+5/96=7/84 (注意:1/26+5/78=4/39 和5/78+1/26=4/39 只能算一种解),共有多少种不同的解。原创 2024-06-06 11:05:15 · 569 阅读 · 0 评论 -
动态规划——最大子列和
给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。原创 2024-06-06 11:02:44 · 335 阅读 · 0 评论 -
分治法——字典序部分全排列(×)
选择整数1至n中m个数进行字典序全排列。原创 2024-06-06 10:52:20 · 351 阅读 · 0 评论 -
分治法——最大子列和
给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。原创 2024-06-06 10:49:10 · 187 阅读 · 0 评论 -
分治法——找数组中的最小差值(×)
求整数数组中相差最小的两个元素(称为最接近数)的差值。原创 2024-06-06 10:47:57 · 430 阅读 · 0 评论 -
分治法——找第k小的数
设计一个平均时间为O(n)的算法,在n(1原创 2024-06-06 10:44:55 · 378 阅读 · 0 评论 -
暴力法——龟兔赛跑
(原题来自蓝桥杯训练题)话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。原创 2024-06-06 10:37:34 · 425 阅读 · 0 评论 -
暴力法——Insertion sort (Algorithm A&D)
【代码】暴力法——Insertion sort (Algorithm A&D)原创 2024-06-06 10:36:21 · 298 阅读 · 0 评论 -
暴力法——人民币兑换
1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。原创 2024-06-06 10:35:18 · 202 阅读 · 0 评论 -
暴力法——找完数
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。原创 2024-06-06 10:32:43 · 243 阅读 · 0 评论 -
蛮力法——找数组中的最小差值
求整数数组中相差最小的两个元素(称为最接近数)的差值。原创 2024-06-06 10:31:30 · 248 阅读 · 0 评论 -
动态规划——最长公共子串
给出2个字符串,输出2字符串的最长公共子串。原创 2024-06-05 15:32:25 · 171 阅读 · 0 评论 -
动态规划——跳房子
跳房子是小朋友玩的游戏。地面上画出一连串格子,每个格子里有一个整数,小朋友从外面跳入格子,并继续往前跳,直到跳出所有格子。每次跳跃的规则是,可以跳入下一格或下下格或下下下格。怎么跳能让落脚格子里的数的累加和最小。原创 2024-06-05 14:32:26 · 742 阅读 · 0 评论 -
贪心——看电影
终于到周末了,明明是特别喜欢看电影。他想在一天内尽量多的看到完整的多部电影。现在他把他喜欢的电影的播放时间表给你,希望你能帮他合理安排。原创 2024-06-05 09:53:17 · 233 阅读 · 0 评论 -
贪心——申请会场
有n个活动申请使用会场,每个会场只按整点时段接待活动,同时每个会场任意时段内最多接待一个活动。比如某个活动起始时间是2点,结束时间是4点,则意味着该活动从2点00分到4点59分都要占用会场。如果要把n场活动全部举行,最少需要几个会场。原创 2024-06-05 08:46:23 · 294 阅读 · 0 评论 -
贪心——最少加油数
一辆加满油的汽车欲行驶到m公里外的终点,旅途中有若干加油站,并且每个加油站距离起点的公里数已知,汽车加满油后可行驶n公里。如何用最少的加油次数到达目的地。原创 2024-06-05 01:12:36 · 478 阅读 · 0 评论 -
贪心——最小总体等待时间
同时有n个任务需要计算机后台处理,但是每次只能处理一个任务,其他任务处于等待。系统总体等待时间是每个任务的等待时间之和。如何安排任务的处理顺序使得系统总体等待时间最小。原创 2024-06-05 00:50:56 · 431 阅读 · 0 评论 -
【无标题】
【代码】【无标题】原创 2024-06-04 19:23:08 · 133 阅读 · 0 评论 -
动态规划——寻宝路线
在一个m行n列方格矩阵中,每一个方格内摆放着价值不等的宝贝(价值可正可负),让小明感到好奇的是,从左上角到达右下角的所有可能路线中,能捡到宝贝的价值总和最大是多少?而且这种达到最大值的路线又有多少条?【注意:只能从一个格子向下或向右走到相邻格子,并且走到的格子宝贝一定会被捡起。原创 2024-06-04 17:16:34 · 455 阅读 · 0 评论 -
动态规划——硬币找零
用 n 种不同币值的硬币凑出 m 元,最少需要多少硬币。原创 2024-06-04 16:05:29 · 1148 阅读 · 0 评论 -
贪心——生成最小数
给定一个正整数,去掉其中的k位数,剩下的数字按原先次序排列,如何让生成的数最小。原创 2024-06-04 12:58:52 · 444 阅读 · 0 评论 -
贪心——修理牧场
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要 n 块木头,每块木头长度为整数 li 个长度单位,于是他购买了一条很长的、能锯成 n 块的木头,即该木头的长度是 li 的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为 20 的木头锯成长度为 8、7 和 5 的三段,第一次锯木头花费 20,将木头锯成 12 和 8;第二次锯木头花费 12,将长度为 12 的木头锯成 7 和 5,总花费为 32。原创 2024-06-04 12:16:10 · 1424 阅读 · 0 评论 -
字典序和全排列是什么
具体来说,对于两个具有相同长度的字符串(或列表),字典序是从左到右逐个比较字符(或元素)的顺序。在给出的例子中,[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] 已经是一个按照字典序排列的列表。对于不同长度的字符串(或列表),较短的字符串(或列表)在字典序中排在较长的字符串(或列表)之前,因为它们的前缀与较长的字符串(或列表)的前缀相同,但较短的字符串(或列表)更早结束。参考↓(但是对1,2,3,4,5,6,7,8,9,10,11,12,13的字典序是什么。原创 2024-06-02 11:28:16 · 588 阅读 · 0 评论 -
分治法——螺旋方阵
写了很久很久很久不知道怎么加入分治法参数刚开始就没定义明白不知道输出怎么站三位对于数组的下标一直弄混了解了一些关于格式输出的用法思路:要得到的方阵=最外面一层(四个for循环,主要难在下标)+里面的小方阵(递归)len=1和len=2的情况实际上就是递归到不能再递归的时候所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。原创 2024-05-15 19:46:36 · 421 阅读 · 0 评论
分享