算法设计.

news2024/11/25 20:50:32

文章目录

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

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. 全排列–回溯

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493241.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从mysql 数据库表导入数据到elasticSearch的几种方式

从MySQL数据库导入数据到Elasticsearch有几种方式,主要包括以下几种: 1. 使用Logstash: Logstash是一个开源的数据收集引擎,可以用来从不同的数据源导入数据到Elasticsearch。它具有强大的数据处理能力和插件生态系统&…

信息熵、KL散度、交叉熵、互信息、点互信息

信息熵 信息量 信息量是对信息的度量,衡量事件的不确定性,越小概率的事件发生了产生的信息量越大。我们应该用什么形式的函数表达信息量呢?除了随着概率增大而减少,这个函数还有具有以下性质: 如果有两个事件x和y彼…

利用Python爬取高德地图全国地铁站点信息

利用Python中的requests库进行地铁站点信息的获取,同时将数据保存在本机excel中 # 首先引入所需要的包 import requests from bs4 import BeautifulSoup import pandas as pd import json# 发送 GET 请求获取网页内容 url http://map.amap.com/subway/index.html response r…

K线实战分析系列之二十三:塔形顶部和塔形底部

K线实战分析系列之二十三:塔形顶部和塔形底部 一、塔形顶部和塔形底部二、塔形顶部和塔形底部总结 一、塔形顶部和塔形底部 塔形顶部:预示着阶段性顶部的形成 塔型底部:预示着阶段性底部的形成 二、塔形顶部和塔形底部总结 形态的两…

字节后端实习 一面凉经

心脏和字节永远都在跳动 深圳还有没有大厂招后端日常实习生啊,求捞~(boss小公司也不理我) 很纠结要不要干脆直接面暑期实习,又怕因为没有后端实习经历,面不到大厂实习。死锁了

2195. 深海机器人问题(网络流,费用流,上下界可行流,网格图模型)

活动 - AcWing 深海资源考察探险队的潜艇将到达深海的海底进行科学考察。 潜艇内有多个深海机器人。 潜艇到达深海海底后,深海机器人将离开潜艇向预定目标移动。 深海机器人在移动中还必须沿途采集海底生物标本。 沿途生物标本由最先遇到它的深海机器人完成采…

微信公众号公司主体变更怎么办?

公众号迁移的好处有哪些?迁移后原公众号还能用吗?1)获得更多权限功能如果公众号是个人主体,想进行认证,拥有更多权限功能。例如菜单栏跳转外部链接,相拥有留言功能,服务号认证获得开发权限等。就…

@德人合科技|公司数据防泄漏软件,防止内部文件数据资料外泄!

现如今,企业都普遍面临数据安全问题的挑战,随着数据泄漏事件不断增加,企业需要强有力的数据防泄漏系统来保护机密信息。 www.drhchina.com 德人合科技 | 公司数据防泄漏软件,防止内部文件数据资料外泄! 公司数据防泄漏…

基于springboot的精品在线试题库系统设计与实现(程序+数据库+文档)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 目录 一、研…

微软研究深度报告:Sora文转视频AI模型全景剖析及未来展望

论文由微软研究团队撰写,这篇论文深入探讨了Sora的发展背景、核心技术、新兴应用场景、现有的局限性以及未来的发展机会,基于公开资料和团队自行进行的逆向工程分析。文中详尽且逻辑清晰,建议细读全文以获得深入了解。 原文:Sora…

优思学院《质量工程师入门攻略2024》

作为一名质量工程师,进入这个行业首先需要理解“质量”的本质含义。质量并非单一维度,而是产品或服务在满足预期程度上的体现。从狭义到广义的质量,涵盖从产品细节到客户满意度的多个方面。 1. 质量的定义是以顾客需求为准 第一&#xff0c…

高级语言讲义2018计专(仅高级语言部分)

1.编写完整程序解决中国古代数学家张丘健在他的《算经》中提出的”百钱百鸡问题“:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁,母,雏各几何 …

每日一题-链表的中间结点

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” 上面是解题题目: 解题思路:快慢指针法--慢指针一次指向下一个,快指针一次指向下两个 解答过程: /*** Definition for singly-linked…

shopify 如何实现阶梯价展示

在Shopify中,您可以通过使用变体(variants)和价格规则(price rules)来实现阶梯价展示。阶梯价是指随着购买数量的增加,商品价格逐渐降低的策略。以下是在Shopify上实现阶梯价展示的步骤: 1. 创…

全志D1s开发板软件入门之Hello World演示

Hello Word 本章节将讲解如何使用电脑(上位机)交叉编译一个打印 hello word 的小应用,并将其push到开发板(下位机)上运行起来,打印出 hello word。这是嵌入式应用开发的最基础步骤。在此之前,你…

JavaScript的for循环与双重for循环,聪明人已经收藏了

css盒模型 1,css盒模型基本概念? 2,标准模型和IE模型的区别:计算高度和宽度的不同,怎么不同,高度宽度是怎么计算的? 3,css如何设置这两种模型? 4,js如何设置…

【BUG】Windows状态栏总卡死解决办法

屋漏偏逢连夜雨,正在赶deadline呢,Windows状态老卡死,一时间崩溃。 解决办法: 右键状态栏新闻和咨询关掉 这个烧笔新闻与资讯我真服了

做分析用什么工具

做分析用什么工具 导读 数据分析是数据辅助决策的最后一公里,是最终的数据可视化展示与探索分析的部分,选择使用最适合的数据展示方式,可以帮助分析人员大大提升分析效率。 问题: ● 纠结选择哪个工具 ● 纠结从哪里学起&#x…

Java 学习和实践笔记(27):Object类的基本特性、toString方法以及IDEA的部分快捷键介绍

Object类基本特性: 1.Object类是所有类的父类,所有的Java对象都拥有Object类的属性和方法(注意拥有并不等于可以直接使用) 2.如果在类的声明中未使用extends,则默认继承Object类。 toString方法是Object类里定义的一个…

连接器中的PI “电源完整性”

【摘要/前言】 在连接器中,我们经常谈论信号完整性(SI)以及我们为最新应用开发新的高速连接器解决方案的工作。很多厂商在112Gbps PAM4信令领域非常活跃,但我们也经常谈论224Gbps PAM4。在之前对Samtec产品管理总监Keith Guetig的…