小工具知识网

当前位置: 首页 > 行业知识 > 算法设计.

行业知识

算法设计.

2026-11-06 15:43:09 来源:互联网转载

文章目录

  • 1. 贪心算法:只看当前
    • 1.1 零钱兑换问题:力扣322
    • 2. 活动选择问题
    • 3. 动态规划
      • 3.1 不同路径:
      • 3.2 0-1背包问题
      • 3.3 完全背包问题
      • 3.4 零钱兑换-动态规划
      • 4. 最长公共字串--动态规划
      • 5. 最长公共子序列
      • 6. 最长递增子序列
      • 7. 打家劫舍
      • 8. 全index.php/tags-41973.html" >���列--回溯

        1. 贪心算法:只看当前

        1.1 零钱兑换问题:力扣322

        用贪心算法:但有可能得到错误的解

        public class Leetcode322 {    public int coinChange(int[] coins, int amount) {        int remainder = amount;        int count = 0;        for (int coin : coins) {            while (remainder - coin > 0) {                remainder -= coin;                count++;            }            if (remainder - coin == 0) {                remainder = 0;                count++;                break;            }        }        if (remainder > 0) {            return -1;        } else {            return count;        }    }    public static void main(String[] args) {        Leetcode322 leetcode = new Leetcode322();        int count = leetcode.coinChange(new int[]{5, 2, 1}, 5);//        int count = leetcode.coinChange(new int[]{25, 10, 5, 1}, 41);//        int count = leetcode.coinChange(new int[]{2}, 3);                // 问题1 没有回头,导致找到更差的解//        int count = leetcode.coinChange(new int[]{15, 10, 1}, 21);          // 问题2 没有回头,导致无解//        int count = leetcode.coinChange(new int[]{15, 10}, 20);          System.out.println(count);    }}

        2. 活动选择问题

        贪心选择:每次选择最早结束的活动

        3. 动态规划

        3.1 不同路径:

        3.2 0-1背包问题

        3.3 完全背包问题

        3.4 零钱兑换-动态规划


        零钱兑换变种:

        4. 最长公共字串–动态规划

        5. 最长公共子序列

        6. 最长递增子序列

        7. 打家劫舍

        8. 全排列–回溯

上一篇:abap怎么查看服务器文件?

下一篇:外贸售后怎么做合适?