![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
残·影
大多数内容都是看视频做的笔记,侵删
展开
-
图的题目基础类与方法
写在最前本文章的思路都是看左神的算法课学到的,并不一定每个题目都会用到全部的属性,比如边没有权重的时候边类的weight就是用不上的,随机应变才是王道。其中比较简单的图类型的题基本上图构建出来了题目也就解得差不多了,希望能帮到大家。点类属性解释:value:点的值in:点的入度out:点的出度nexts:从此点出发能直接到达的点edges:一般指与此点相连的边,也可指代从此点出去或者进入的边,具体情况具体分析class Node { public int value;原创 2021-04-14 16:16:21 · 842 阅读 · 5 评论 -
子集 II:回溯法
题目回溯法import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Nums { public List<List<Integer>> subsetsWithDup(int[] nums) { List<List<Integer>> arr = new ArrayList<>();原创 2020-05-15 06:36:20 · 10591 阅读 · 0 评论 -
01背包问题:回溯法
题目解法:回溯法/** * 回溯法解01背包问题 * 背包问题的概念不再赘述。这里主要讲解下回溯法思路。 * 将每一个物品分为装载和不装载两条路径,一个接一个的遍历,每遍历一个物品就会产生两条分支 * 那么就会组成一棵树,深度遍历这棵树,找出最优解 * 参考:https://blog.csdn.net/jarvischu/article/details/16067319 */public class Bag { public int[] weight; public i原创 2020-05-15 06:33:52 · 13471 阅读 · 0 评论 -
砝码称重问题的三个解法
问题描述一、这种方法太麻烦了,不建议,总体思路是把所有可能组合的情况找到,然后去除重复的,拿到结果package Weight;import java.util.Scanner;public class Weight { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int arr[]=new int[6]; for原创 2020-05-15 06:31:15 · 14899 阅读 · 0 评论