算法记录
是张竣嘉
菜鸟一枚
展开
-
相邻块(数细胞)问题之BFS解
题目: 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。 输入: 第一行输入两个整数,分别代表矩阵的行和列 输入m*n的矩阵,由数字0到9组成。 输出: 细胞个数。 输入样例: 4 10 1 2 3 4 5 1 1 1 6 7 1 0 3 4 5 6 1 5 1 0 2 0 4 5 6 6 1 6 7 1 0 0 6 0 6 6 1 0 8 9 输出样例: 1 分析: bfs思想,如果遇到非0数开始上下左右四个方向进行搜索,及原创 2021-05-11 00:53:31 · 138 阅读 · 0 评论 -
01背包问题
深度优先搜索(DFS)之01背包问题: 题目描述: 一共有N件物品,每件物品的重量为w[i],价值为v[i]。在总重量不超过背包承载上限v的情况下,能够装入背包的最大价值是多少?(1<= n<= 20) 首先思路就是每个物品可以选可以不选,在总重量小于规定重量的情况下得出最大价值。 及n件物品,选的话加上这个物品的重量和价值,不选的话直接数组下标加一,边界就是数组下标==数量n,如果再结合剪枝的思想,可以在“选”这个分支上加上判断条件重量是否会超标,如果不超标则比较一下现在背包里的价格和记录最原创 2021-05-11 00:42:18 · 115 阅读 · 0 评论