Java数据结构算法问题,求最优解

实际开发中需要解决的问题,我在这里简化成简单的Map:

 Map<String,Integer> map=new HashMap<String,Integer>();
 map.put("tom",78);
 map.put("jerry",42);
 map.put("marry",12);
 map.put("hugh",37);
 map.put("aaron",23);
 map.put("john",40);
 map.put("adam",67);
 map.put("white",43);
 map.put("chris",13);

有这样一个map,key是名字,value是每个人拥有的钱
有一件物品是240元,需要所有人一起凑钱购买,求最优解:
1、第一优先的是人数,凑够钱买物品的人的组合里,人数最少的
2、第二优先的是价格,要求超过240,但是离240最接近的一组,因为从大到小排列一定能得到人数最少的,但是可能会比目标数额大很多,导致找零太多

最后要求返回满足上面两个条件的最优解,也就是这个组合里的所有元素

1
扫码支付0.1元 ×
其他相关推荐
java遗传算法_求TSP,java界面版
java遗传算法_求TSP,java界面版,旅行商问题求问题的最优解
矩阵连乘最优解
假设有六个矩阵连乘,如下                        A1                         A2                     A3                   A4                  A5                    A6                     30*35                  35*
最优解问题的求解
1. 一般来说题目中需要求解出最优解的问题,我们是可以使用普通递归,递推,深度优先搜索,记忆型的递归,贪心或者动态规划来进行求解的 其中使用普通的递归或者深搜,递推这些数据量较小的情况下求解速度还行,假如数据量相对大一点的情况下,而且节点的数量比较多,这个时候使用这些方法来解决往往会耗时比较大,有时候都需要求解半天了,原因是它需要搜索搜索的可能,把每一条路都尝试一遍,等到所有的路径走完才结束搜索...
用“规划求解”自动计算一定条件下的最优解
今天看到一个非常好用的Excel功能——规划求解,在一定限定条件下求解组合的最优配置十分好用。使用场景举例1、一定预算下,根据成本-效果来规划各渠道广告投放。2、多地销售,在知道销量和运费的情况下,规划输送量。3、多种产品生产,知道生产效率和人工成本,规划生产排班,以实现最大利润组合。……应用举例某农产品产于A1、A2、A3三个城市,年产量分别为7吨、4吨...
动态规划算法-----找零钱问题(求最优解)
动态规划算法通常用于求解具有某种最优性质的问题。动态规划算法与分治法类似,其基本思想都是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表(备用表)来记录所有已解
几种优化(求最优解)算法的比较
原文:《几种优化(求最优解)算法的比较 》 遗传算法 优点是能很好的处理约束,能很好的跳出局部最优,最终得到全局最优解,全局搜索能力强;缺点是收敛较慢,局部搜索能力较弱,运行时间长,且容易受参数的影响。遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题。模拟退火 优点是局部搜索能力强,运行时间较短;缺点是全局搜索能力差,容易受参数的影响。 爬山算法 显然爬山算法较简单,效率高
Excel,R求解最优解问题
1. Excel最优化 本人使用的是2016版Excel,一开始是没有Solver这个求解最优解的包的按钮的。MS Excel在装载时会下载该包,但是不予激活。所以如果在“数据”这一栏没有找到“Solver/规划求解”按钮,需要自行激活,方法如下: (1)点开“选项”按钮,选中“加载项”,点击“转到”。 (2)“跳转”后会显示如下弹窗,选中“分析工具库”和“规划求解加载项”,点击“确定”...
顺序队列求解迷宫(最优解)
【问题描述】 以一个mXn的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 【任务要求】 实现队列求解迷宫从入口到出口的最短通路。 【测试数据】 迷宫的测试数据如下:左上角(0,1)为入口,右下角(8,9)为出口。 代码:这里写代码片 #include <stdio.h> #include <std
简单迷宫最优解问题
简单迷宫最优解问题
python求最优解的集中算法
优化算法通常用来处理问题最优解的求解--这个问题有多个变量共同决定的,举一个例子比如有这样一张 人员关系表,需要绘制一张SOSO华尔兹(一种socialnetwork,http://tag.soso.com/),比如:     绘制方法有很多种,我们希望能够最终展现给用户的绘制是比较好阅读的,比如交叉线比较少,每个人的点排的比较开等等。     我们利用以下一个数据格式来描述最
用牛顿法求最优解
题目:       已知 f(x) = (x1-1)2+5(x2-5)2+(x3-1)2+5(x4-5)2   ,用快速下降法、牛顿法或共轭梯度法求 minf(x) 。   牛顿法代码:   //牛顿法 //请根据具体题目,修改本程序“//@”所在行的下一行代码。 #include&amp;lt;math.h&amp;gt; #include&amp;lt;stdio.h&amp;gt; #incl...
关于迷宫求解及其最优解的问题
关于迷宫问题,求解它的最优解的问题可以使用栈的概念来实现。简单的迷宫如下图 其中0表示可以走,1表示不能走,显然可见,若是以(3,1)点为入口,则有两个出口分别是(10,3)和(10, 8)。而两个出口的路径长度是不同的。这就产生了迷宫最优解的问题。 下面附上代码,我们寻找下一个位置是否可走的顺序是顺时针顺序,即上右下左。#pragma once #include<iostream> usi
蝙蝠算法优化源代码
用于工程优化,函数优化,求最优解 工程问题
最优解问题
最优解问题题型隐晦、变化多端,所以总结此类题目的特征、解法归类有助于我们更快的想到这类题目的解题方法 占坑!后续补充最优解题目特征:解题思路1:贪心思想 思考第一个找出的最优解元素应该满足什么样的条件? 用反证法检验其是否是最优解条件 在前i-1个最优解的基础上,第i个最优解元素的选择是否同样适用该最优解条件 例题:九度oj题目1434:今年暑假不AC 分析过程: 一个节目提供了三个参数:开始时
python 线性代数:[18]线性规划求最优解
现在有个需要解决的问题:我找到了一份实习工作,于是想租一个房子,最好离工作近点,但是还没毕业,学校时不时有事,还不能离学校远了;而且有时候还要去女朋友那里,她希望我就住在她附近,于是,我怎么选择房子的地址?假定:公司、学校、女盆友的在地图上的坐标分别是:(1,1),(4,6),(9,2),求我的房子的坐标?我们解决的方法是用scipy提供的一个scipy.optimize.minimize 方法,...
Lingo计算最优解
文章目录线性规划二次规划集合段 线性规划 model: title 求解线性规划; max=2*x1+3*x2; 2*x1+x2&lt;8; 4*x1+3*x2&lt;15; end 结果: Global optimal solution found. Objective value: ...
使用遗传算法求最优解
在2008年全国大学生数学建模竞赛,学习过matlab遗传算法工具箱求最优解,用得也比较熟练,时隔两年忘得差不多了!现在想用GA工具箱来解决一个优化问题,不得不重新查资料学习使用!这是一个根据已知数据拟合一个函数,使用最小二乘法作为适应度函数,求最小值适应度函数如下function f=zpp(m)a=[0 49 98 147 196 294 391 489 587 685];y1=[
斐波那契数列最优解
数据结构讲栈的应用时遇到的,感觉可以优化便学习了一下
使用粒子群算法求解最优问题
调研并寻找一种算法,求函数(式1)的最优解 f(x)=∑_(i=1)^(N-1)▒[100*(x_i^2-x_(i+1) )^2+(1-x_i )^2 ] (式1) x_i∈[-5.12,5.12]
约束条件下求最优解
约束条件下求最优解        在求有约束条件的最优解时,拉格朗日乘子法和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件去求取。当然,这两个方法求得的结果只是必要条件,只有当是凸函数的情况下,才能保证是充分必要条件。 一、拉格朗日乘子法              假设一个拉格朗日系数λ
利用动态规划的思想求最优解
源自《剑指offer》中的剪绳子问题,书中使用的是C++,但是我更喜欢用python实现。这里按照从上而下的顺序计算,也就是说我们先得到f(2)、f(3),再得到f(4)、f(5),直到得到f(n)...   # -*- coding:utf-8 -*- #利用动态规划的思想 #给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n&amp;gt;1并且m&amp;gt;1)每段绳子的长度记为k[0]...
c#寻找最优解示例
c#写的三种寻找最优解的算法;分别是格点法,单峰区间进退法,和黄金分割法,适合初学者学习使用
校招编程题:求最优解题方案
题目: 一共有n道题,每道题有对应的分值grade和需要消耗的时间time,求解在规定的时间内,能得到最大的分数。 解题思路: 使用动态规划,求解最大分数。如果需要求解具体做题步骤,则需要把最大分数进行回溯,逐步找到做过的题。 这里由于题目只要求了求出最大分数,所以只编程实现了求解最大分数的目的。 代码如下: package test; public class DynamicPr
模拟退火算法函数最优解和路径规划代码二合一
模拟退火算法Matlab程序,包含两个代码,1.求解函数最优解. 2.二维空间路径规划
几种优化算法(求最优解)
几种优化算法,先简单备注下,今后接触到再看: 参考资料: http://blog.sina.com.cn/s/blog_6a1bf1310101hhta.html
遗传规划C++
基于c++语言写的一段遗传规划求最优解问题
求最优解-牛顿法
牛顿法  牛顿法
求解素数最优算法
问题: 求解自然数n以内所有素数 include include include using namespace std; int main() { int n = 0, cnt = 1; scanf(“%d”, &amp;amp;amp;amp;amp;amp;amp;n); bool *prime = new bool[n + 1]; clock_t start = cl...
算法——最优解之动态规划
1. 动态规划的定义动态规划作为一个非常优秀的算法被很多应用称为Optimal Algorithm ,也就是所谓的最优算法。它是一个总能找到最优解的算法,而它主要应用于多阶段决策的问题。但是,它也存在着一定的弊端,也就是准确度和效率不能并存,它一定能找到最优解,但是其时间复杂度通常都是幂指数,有很多应用只能在中小规模中实现,但这丝毫不影响动态规划的名声。下面我们给出动态规划的描述性语言: 无论
牛顿迭代法
数值计算里面的牛顿迭代算法,求最优解的问题
遗传算法求解最优解
遗传入门,帮你了解智能优化算法,了解这个基于人类繁衍过程模拟过来的算法。
演化计算解决多峰函数多个最优解问题
问题描述: 其中,-10当n=1,2,3和4时分别有3、18、81和324个不同的全局最优解。 设计算法(可以是任何算法)并编写程序,可做n=1、2、3、4或部分或所有情况,得到全局最优解越多越好,用十进制编码,解的精确度至少到小数点后8位。      这是Shubert函数最优解问题,《演化优化及其在微分方程反问题中的应用》一文中提出了GMLE_DD算法。      GLME算法
Java一组数据,满足数量和求和的最优解
记录一下,方便以后使用:有一件物品是240元,需要所有人一起凑钱购买,求最优解:1、第一优先的是人数,凑够钱买物品的人的组合里,人数最少的2、第二优先的是价格,要求超过240,但是离240最接近的一组,因为从大到小排列一定能得到人数最少的,但是可能会比目标数额大很多,导致找零太多最后要求返回满足上面两个条件的最优解,也就是这个组合里的所有元素import java.util.Arrays;publ...
利用两阶段法通过寻找基可行解求线性规划问题的最优解
算法介绍: java代码实现: package sy1; //标准化系数矩阵 并加上人工变量 public class BzhAndJrg { public double A[][]; //原矩阵的系数矩阵 public String D[]; //原矩阵的符号矩阵 public double b[]; //原矩阵的常数矩阵 public double B
matlab中遗传算法求最优解
首先什么是遗传算法:一个非常好的理解遗传算法的例子 强烈推荐入门  遗传算法的手工模拟计算示例 为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各     个主要执行步骤。         例:求下述二元函数的最大值:     (1) 个体编码            遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种        符号串...
运筹学电子版
线性代数,算法,矩阵,求最优解,工程问题,统计分析
cvxpy与tensorflow可以解决的有限制条件的最优解问题类型
cvxpy可以解决的最优问题类型: obj:min(f0(x))min(f_0(x))min(f0​(x)),f0(x)f_0(x)f0​(x)是连续的凸函数 constraints:(1)equalities:f1(x)=Ax+b=0f_1(x)=Ax+b=0f1​(x)=Ax+b=0,f1(x)f_1(x)f1​(x)是仿射函数 (2)inequalities:f2(x)&amp;amp;amp;gt;=0f...
遗传算法求函数最优解
前两天写了一个遗传算法求最优解的程序,今天拿出来简单整理一下。程序要解决的问题:最优解问题:四个变量取何值,该函数取最大值时?(取值范围-5到5) 显然,当四个未知数都为零的时候,函数取最大值,但如何利用遗传算法来实现,才是要研究的问题。上代码:1.染色体结构定义define.hstruct chromosome { vector<double> s_chromosome; d
坐标轮换法求最优解
主要通过matlab编程利用坐标轮换法求解无约束非线性规划问题。给出了具体的操作步骤和方法
matlab遗传算法求解函数最优值
matlab遗传算法求解%主程序:用遗传算法求解y=200*exp(-0.05*x.*sin(x))在区间【-2 2】上的最大值
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java的问题 学习java问题