算法设计.

文章目录

  • 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.mzph.cn/news/722599.shtml

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

相关文章

事务、视图、索引、数据备份和恢复

1.事务 事务(TRANSACTION)是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库操作命令要么都执行,要么都不执行。 事务是一个不…

信息熵 (Entropy)

在深度学习和机器学习中,熵是一个衡量不确定性或信息量的关键概念。它在各个方面发挥着作用,从数据的压缩和分布的特性分析,到模型的正则化和决策过程的优化。以下是熵在深度学习中的一些关键知识点: 信息熵 (Entropy) 信息熵是…

04. Nginx入门-Nginx WEB模块

测试环境 此处使用的yum安装的Nginx路径。 此处域名均在本地配置hosts。 主配置文件 路径:/etc/nginx/nginx.conf user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connection…

如何使用宝塔面板部署MySQL数据库,并结合内网穿透实现固定公网地址远程连接

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.1 开放局域网端口3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几…

Android drawable selector

Android drawable selector 描述使用备份背景颜色 描述 Android 可绘制选择器(drawable selector)是一种可根据不同状态显示不同可绘制对象的 XML 资源。它通常用于实现按钮、列表项等控件的状态变化效果。 可绘制选择器的基本结构 一个可绘制选择器由…

Mybatis-Plus——04,自动填充时间(新注解)

自动填充(新注解) 一、数据库添加两个字段二、实体类字段属性上增加注解三、编写填充器四、查看结果4.1 插入结果4.2 修改结果 五、同步修改5.1实体类属性改成 INSERT_UPDATE5.2 在填充器的方法这里加上 updateTime5.3 查看结果————————创作不易…

【前缀和】AcWing. 562 / Google Kickstart2018 Round H Problem B《壁画》(c++)

1.题目说明 Thanh 想在一面被均分为 N 段的墙上画一幅精美的壁画。 每段墙面都有一个美观评分,这表示它的美观程度(如果它的上面有画的话)。 不幸的是,由于洪水泛滥,墙体开始崩溃,所以他需要加快他的作画…

视频号爆爽短剧推广,一键搬运,傻瓜式操作,日入2000+

首先,我想问下有没有人尝试过短剧推广,是否感觉最近短剧推广变得困难,或者收益甚微。这可能是因为许多人都在抖音、快手等大型平台上进行短剧推广,竞争非常激烈,就像在争夺一块有限的蛋糕,自然难以获得满意…

一键生成超好用的简历设计模板

对于缺乏工作经验和职业规划的应届生而言,使用简历设计平台,辅助我们完成简历分区、排版和美化流程,早就成为简历设计环节的 “潜规则”。这里我们挑选了 5 个能够实现免费下载、一键生成的简历设计平台,供大家参考借鉴。 即时设…

剑指RT-DETR改进RepVB:最新重参数化结构 顶会二次改进升级版,最新开源移动端网络架构

💡本篇内容:剑指RT-DETR改进RepVB:最新重参数化结构 顶会2023 二次改进升级版 最新开源移动端网络架构,速度贼快 💡🚀🚀🚀本博客 改进源代码改进 适用于 RT-DETR 按步骤操作运行改进后的代码即可 💡:重点:该专栏《剑指RT-DETR原创改进》只更新改进 RT-DETR …

与hr沟通的话术记录

投简历的时候,能不能获得面试机会,取决于hr是否足够信赖你的简历。如果人家不够信赖你的简历,相信你也没有面试机会。 然后,第二个就是,与hr在沟通的时候,不要谈及自己的缺点,无论是面试前&…

洛谷P1888 三角函数

输入一组勾股数 a,b,c(abc),用分数格式输出其较小锐角的正弦值。(要求约分。) 输入格式 一行,包含三个正整数,即勾股数a,b,c(无大小顺序)。 输出格式 一行&#xff0…

LLaMA模型的发布与创新潮流

时间线从2023年2月24日开始,Meta推出了LLaMA模型,虽然开源了代码,却没有开源模型权重。LLaMA模型可以说是相对较小的,拥有7B、13B、33B和65B参数的几种版本,训练时间相对较长,因此相对于其大小而言能力强大…

C#进阶高级语法之LINQ:常用集合类的扩展方法

LINQ(Language Integrated Query)是.NET框架的一个组成部分,它提供了一种声明性的数据查询和操作方法,可以用于操作集合、数据库等各种数据源。LINQ扩展了C#和VB.NET等语言,使得开发者可以用类似于查询SQL语句的方式查…

H5双人五子棋小游戏

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境,解压后浏览器直接打开。有需要的,私信本人,发演示地址,可以后再订阅,发源码,含60+小游戏源码。如五子棋、象棋、植物大战僵尸、开心消消乐、扑鱼达人、飞机大战等等 <!DOCTYPE html> <html> <…

Android开发者必看,我的移动开发春季历程

热修复介绍 1.开发流程 当项目出现紧急bug时&#xff0c;传统的开发流程是发布新版本&#xff0c;引导用户覆盖安装。抛开平台审核上线的时间不说&#xff0c;一天重复下载安装至少两次的用户体验是很差的。而热修复的出现完美解决了这个问题&#xff0c;用户在收到服务器推送…

前端项目提示node版本问题解决

The engine “node” is incompatible with this module. Expected version “>18.12.0”. Got “16.15.0” error Found incompatible module. 出现这个问题的时候&#xff0c;设置yarn config set ignore-engines true可以解决

安装完NGINX 已经正常启动,用IP访问显示的是Welcome to CentOS?

下头Nginx 以前配置服务器难道配置完nginx默认访问80端口进入不应该是欢迎来到nginx吗&#xff0c;nono变了 nginx变了 现在默认访问就是Welcome to CentOS 你的配置没有问题 只要你能访问 就行 直接改成你的项目地址就ok了

设计模式——2_3 迭代器(Iterator)

生活就像一颗巧克力&#xff0c;你永远不知道下一颗是什么味道 ——《阿甘正传》 文章目录 定义图纸一个例子&#xff1a;假如你的供应商提供了不同类型的返回值单独的遍历流程实现 碎碎念如果读写同时进行会发生啥&#xff1f;外部迭代和内部迭代迭代器和其他模式迭代器和组合…

vue 之 Quill编辑器封装

安装 npm install vue-quill-editor --save <template><div><el-upload:action"uploadUrl":before-upload"handleBeforeUpload":on-success"handleUploadSuccess":on-error"handleUploadError"name"file":sh…