蛮力算法 例题

算法设计与分析笔记5-蛮力法 算法设计与分析讲义4 蛮力法(穷举法)例子: 穷举所有可能的解 1、选择排序 冒泡排序 2、顺序查找 3、简单的字符串匹配,简单匹配算法(依次匹配)最差时间复杂度 O(n*m) 4、最近点对问题 5、凸包问题 6、旅行推销员问题(TSP,Traveling Salesman Problem /货郎担问题)(图论相关):类似于哈密尔顿回路问题 全排列问题:乘法原理:多步决策 7、背包问题(等价于leecode78题Subsets问题) 8、迷宫问题 9、N皇后问题 发现大部分用 阅读详情

这个算法比较简单
蛮力算法,就是按照题目的意思,一步一步的走,用时间来换结果

给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。
商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。
请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。
示例 1:
输入:prices = [8,4,6,2,3]
输出:[4,2,4,2,3]
解释:
商品 0 的价格为 price[0]=8 ,你将得到 prices[1]=4 的折扣,所以最终价格为 8 - 4 = 4 。
商品 1 的价格为 price[1]=4 ,你将得到 prices[3]=2 的折扣,所以最终价格为 4 - 2 = 2 。
商品 2 的价格为 price[2]=6 ,你将得到 prices[3]=2 的折扣,所以最终价格为 6 - 2 = 4 。
商品 3 和 4 都没有折扣。
示例 2:
输入:prices = [1,2,3,4,5]
输出:[1,2,3,4,5]
解释:在这个例子中,所有商品都没有折扣。
示例 3:
输入:prices = [10,1,1,6]
输出:[9,0,1,6]
提示:
1 <= prices.length <= 500
1 <= prices[i] <= 10^3

package nunber2;
//蛮力算法,就是按照题目的意思,一步一步的走,用时间来换结果
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int[] nums= {1,2,3,4,5};
		
		for (int i = 0; i < nums.length; i++) {
			for (int j = i+1; j < nums.length; j++) {
				if(nums[i]>=nums[j]) {
					nums[i]=nums[i]-nums[j];
					break;
				}
					
			}
		}
		
		for (int i = 0; i < nums.length; i++) {
			System.out.print(nums[i]+" ");
		}
		
	}
}


小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。
如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。
请你计算 最多 能喝到多少瓶酒。
示例 1:

输入:numBottles = 9, numExchange = 3 输出:13 解释:你可以用 3 个空酒瓶兑换 1 瓶酒。
所以最多能喝到 9 + 3 + 1 = 13 瓶酒。 示例 2:

输入:numBottles = 15, numExchange = 4 输出:19 解释:你可以用 4 个空酒瓶兑换 1 瓶酒。
所以最多能喝到 15 + 3 + 1 = 19 瓶酒。 示例 3: 输入:numBottles = 5, numExchange = 5
输出:6 示例 4: 输入:numBottles = 2, numExchange = 3 输出:2 提示: 1 <=
numBottles <= 100 2 <= numExchange <= 100

package nunber2;

public class Solution_1518 {
	public static void main(String[] args) {
		int numBottles=9;
		int numExchange=3;
		
		System.out.println(numWaterBottles(numBottles,numExchange));
	}
	
	public static int numWaterBottles(int numBottles, int numExchange) {
		if( numBottles<  numExchange) //如果买的酒很少,直接就可以返回
			return numBottles;	
		
		else 
			return  numBottles+result( numBottles,  numExchange);
    }
	
	public static int result(int numBottles, int numExchange) {//返回除数
		int curr=numBottles/numExchange;//除数
		int num=numBottles%numExchange;
		
		if((curr+num)<numExchange)
			return curr;
		
		return curr+result(curr+num,numExchange);
	}

}
算法导论第三版 第4章习题答案 2020/10/31:初稿,参考https://ita.skanev.com/,并增加相应的Python代码 4 Divide-and-Conquer 4.1 The maximum-subarray problem 1.What does FIND-MAXIMUM-SUBARRAY return when all elements of A are negative? It will return a single-element array with the largest negative in 阅读详情

相关推荐

最大子段和——用蛮力算法,分治策略,动态规划算法三种求法(C语言)

给定n个整数的序列A=,求该数列最大子段和问题,通过三种算法蛮力算法,分治策略,动态规划算法的分析进行求解。

weixin_52075165的博客 1万+

算法详解(二):蛮力法

一:概念 蛮力法是一种简单直接地解决问题的方法,常常直接基于问题的描述和所涉及的概念定义 二:优缺点 蛮力法适应能力强,是唯一一种几乎什么问题都能解决的一般性方法。 蛮力法一般容易实现,在问题规模不大的情况下,蛮力法能够快速给出一种可接受速度下的求解方法. 虽然通常情况下蛮力法效率很低,但可以作为衡量同类问题更高效算法的准绳 三: 算法案例 (1)枚举算法 百钱白鸡 问题构造 如何用10...

jiliguluguji的博客 7700

凸包问题的蛮力算法及python实现

凸包问题的蛮力算法及python实现蛮力法的基本思想是先用排除法确定凸包的顶点,然后按逆时针顺序输出这些顶点。在判断点P是不是凸包上的顶点时,有如下性质:给定平面点集S,P,Pi,Pj,Pk是S中四个不同的点,如果P位于Pi,Pj,Pk组成的三角形内部或边界上,则P不是S的凸包顶点。 那么如何判断点P在三角形内部或边界上?给定平面两点AB,直线方程g(A,B,P)=0时,P位于直线上,g(A,B,P

lucky_yang_的博客 5519

C语言【微项目13】—7-11店问题[四个相加和相乘都等于7.11](采用蛮力法实现)【2021-12-24】

C语言【微项目13】—7-11店问题[四个相加和相乘等于7.11](采用蛮力法实现)【2021-12-19】一、qllwt.c二、Main.java(BigInteger)三、 运行结果示例2.1 C语言版(0.01增量)2.2 JAVA版(0.01增量) 【TDTX】 【C99】 【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。 【问题描述】x+y+z+w=7.11且xyzyw=7.11,求解x,y,z,w的满足解的组合 【思路】本题解决思路和百钱百鸡问题解法一

TDTX博客 1918

python买卖股票的最佳时机(基于贪心/蛮力算法)

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要介绍了python买卖股票的最佳时机(基于贪心/蛮力算法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 开始刷leetcode算法题 今天做的是“买卖股票的最佳时机” 题目要求 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你...

python爬虫程序学习教程 2386

图片数据爬取工具Image-Downloader的安装和使用

文章目录1、python安装2、下载chromedriver并配置3、下载phantomjs并配置.4、安装相关python库5、使用 安装包地址:https://github.com/sczhengyabin/Image-Downloader 下载: 方式一:打开cmd,输入: git clone https://github.com/sczhengyabin/Image-Downloader.git 方式二:打开网址 1、python安装 该数据爬取工具要求python>=3.5,由于

wxplol的博客 6674

基础算法——蛮力法(选择排序)

什么是枚举法 枚举法,又称蛮力法,是基础的算法之一。这是一种算法思想,顾名思义,就是将问题的可能结果全部都列举出来,再根据列举的结果中挑选出符合问题

weixin_43325858的博客 6820

内网Linux服务器离线安装python包

3、将下载的依赖包和requirements.txt 拷贝到内网主机,依赖包和requirements.txt放同一级目录,进入该目录,运行指令。其实还有个更加方便的办法,联网主机装个与内网主机一样环境的虚拟机,在虚拟机中下载py包,拷贝到内网主机后就能直接安装了,省去手动下载py包的步骤。简单记录下最近遇到的一个小问题,内网主机没有内网源,处于无互联网状态,安装python包只能通过联网主机下载好后拷贝到内网主机。由于内网主机安装了多个版本的python,为了防止搞错,使用这种方式来调用pip安装。

cyc头发还挺多的博客 652

【算法】蛮力法

前言 概念 蛮力法(brute force):直接基于问题的描述和所涉及的概念定义的进行算法设计,简单而直接。 蛮力法应用特点 蛮力法所能解决的问题跨越的领域非常广泛。 对于一些重要的问题,运用蛮力策略可以设计出具备一定实用价值的算法,并且不用限制实例的规模。 当要解决的问题实例不多并且可以接受蛮力法的运算速度时,蛮力法的设计代价通常较为低廉。 蛮力算法可以作为衡量其它算法的准绳,服务于研究或教学。 枚举法 算法框架 依据问题,设定枚举范围; 找出约束条件,建立计算模型; 利用计算模型在枚举范围内搜索

loxs 2485

基于Java+Maven+Testng+RestAssured+Allure+Jenkins搭建一个接口自动化框架

2、有一个提取表达式列,通过编写每个接口的JSON提取表达式,后边在解析Excel时,对接口执行后的响应数据用该表达式提取出来,保存到环境变量,如果某些接口需要前置接口的响应数据,我们就可以从环境变量中获取该数据出来,从而解决了接口关联的问题。1、在之前介绍过全局配置类Contants中添加一个控制台日志开关控制权限,如果选择为false,则控制台不输出日志,将日志输出到allure报表,选择为true,则在控制台输出日志,不输出到allure报表。

专注于技术分享的博主 1185

.NET 8 组件之IOC容器组件

NET 8中的IOC容器组件继承了前几代的优良传统,并在性能、扩展性、灵活性等方面进行了诸多优化,使得它在现代应用开发中依然保持领先地位。通过合理使用IOC容器,开发者可以更高效地管理依赖关系,编写更加模块化、可维护的代码。随着.NET生态的不断发展,IOC容器将继续扮演关键角色,为开发者提供强大的依赖管理功能。

hy_4377的博客 1530

一道Google top coder的850分例题及解答

&lt;iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"&gt;&lt;/ifra

52

攻克TypeError: Cannot read properties of undefined (reading ‘NormalModule‘)的四种实战策略

本文详细解析了`TypeError: Cannot read properties of undefined (reading 'NormalModule')`错误的四种实战解决策略。从版本一致性检查、包管理器优化到依赖替换和构建环境配置,帮助开发者快速定位和解决Webpack构建过程中的常见问题,提升开发效率。

weixin_42523670的博客 244

【蛮力算法】数据结构与算法

蛮力算法也称为穷举法或暴力法,它是算法设计中最常见的方法之一。蛮力算法的基本思路是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试为止。 蛮力算法的概述 蛮力法是一种简单、直接地解决问题的方法,通常直接基于问题的描述和所涉及的概念定义。 蛮力算法是基于计算机运算速度快这一特性,在解决问题时采用的一种“懒惰”策略。 蛮力算法的优点: 逻辑清晰,编写程序简洁 可以用来解决广阔领域的问题 对于一些重要的问题,它可以产生一些合理的算法 可以解决一些下小规模的问题 ...

小孙的博客 2848

OpenHarness代码解读

Harness 是包裹在大模型之外、为其赋予完整执行能力的全套基础设施。模型负责提供智能与推理,Harness 则为模型提供感知、行动、记忆、工具与安全约束,使其从语言模型变成可自主完成复杂任务的实用智能体。我这里把向量数据库方案定义为:把对话片段、事件、偏好、工具结果等切成 memory chunks,做 embedding,存进向量库,查询时靠 ANN 相似度召回,再交给 LLM 读。AAAI 的综述类论文就明确指出,很多 LLM agent 的长期记忆就是这么做的。AAAI 期刊把文件系统方案。

qq_52053775的博客 188

【DRAM存储器二】Sense Amplifier

详述DRAM颗粒中感应放大器功能、电路结构、工作原理和操作波形

highman110的博客 7206

蛮力算法求解最近对

蛮力算法最近对 问题描述:一个包含n个点的集合中,找出距离最近的两个点。 问题分析:假设所考虑的点是以标准的笛卡尔坐标形式( x ,y )给出的,两个点pi = ( xi ,yi )和 pj =( xj,yj )之间的距离是标准的欧几里得距离 d( pi , pi )= 这里是引用 ...

zj的博客 3476

29、机器人动力学中的欧拉 - 拉格朗日与哈密顿力学

本文深入探讨了机器人动力学中的欧拉-拉格朗日与哈密顿力学框架,涵盖向量流形上的辛结构、哈密顿方程的几何代数表述、泊松括号与积分不变量等核心概念。文章详细推导了机电系统中拉格朗日量与哈密顿量的构建方法,并结合牛顿-欧拉算法给出了局部哈密顿量和动量导数的迭代计算流程,适用于多关节机器人的动力学建模与控制设计。通过应用案例展示了理论在双关节机器人手臂中的实际运用,最后展望了其在优化控制、鲁棒性提升及智能融合方向的潜力。

perl8的博客 130

蛮力算法字符串匹配

给定一个n个字符组成的串(称为文本),一个m( )个字符组成的串(称为模式),从文本中寻找匹配模式的子串。 在这里我们运用蛮力算法解决,另外此问题还能用KMP算法。 一、算法原理 该算法的做法是将模式(也就是较短的子串,长度为m)对准文本(也就是较长的字符串,长度为n)的前m个字符,从左到右匹配每一对相应的字符,如果有m对字符都匹配成功,那么算法停止,或者当遇到有一对不匹配时就将模式向右移一位,然...

qq_44858619的博客 2799

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

凸包问题求解 使用蛮力算法

 /*****************************************************//*                                                   *//*       凸包问题求解                                *//*       使用蛮力算法                         

网络空间安全与企业信息化 4035

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

求凸包(蛮力算法)

写一个程序,实现凸包问题的蛮力算法。 请使用蛮力法而不是其他方法,不然你可能会受到分数的制裁。期待的时间复杂度是​O(n^3) 输入格式 输入数据第一行含有一个整数​n [1,200],表示点的数量。 接下来n​行,每行包括一个整点的坐标(xi,yi) [-1000,1000]​。 输出格式 输出共一行,表示这些点的凸包的长度,当相对或者绝对误差在10^-6​以内时,你的答案将被判...

CN_BIT的博客 1062

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

蛮力写算法_蛮力算法解释

蛮力写算法Brute Force Algorithms are exactly what they sound like – straightforward methods of solving a problem that rely on sheer computing power and trying every possibility rather than advanced techniq...

cumi7754的博客 1721

蛮力算法——0-1背包问题(C++实现)

贪心算法——0-1背包问题(C++实现) 问题描述:背包问题分为两种,一种是可分割背包,就是我们平常所说的背包问题,可以将物品的一部分放入背包中。另一种就是0-1背包问题。在此问题中的物品只有两种选择,要么全部放入(1),要么不放(0)。接下来使用贪心算法来实现0-1背包问题。 #include<iostream> #define N 50 using namespace std; int n,bestValue,cv,cw,c;//物品数量,最大价值,当前价值,当前重量,背包容量 int x

wmx1117的博客 4411

【字符串】字符串查找 ( 蛮力算法 )

一、字符串查找、 二、蛮力算法代码示例、

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1611

蛮力算法笔记

蛮力算法的应用一:排序算法 问题描述:(冒泡排序) 给出一系列的随机数并对其按照从大到小或者从小到大的顺序进行排列 原理:通过每一个位置当前元素都跟后面的元素进行比较,满足条件的话进行交换 伪代码: void exchange(int str[],int n) {       for(i=1;i&lt;n;i++)         for(j=i+1;j&lt;n;j++)    ...

A963457200的博客 760
上一篇: 蓝桥杯2020 java B组
下一篇: 贪心算法 例题
@@老胡
博客等级 码龄7年 291粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值