当前位置: 首页 > news >正文

背包算法练习--求小于某数字的数组最大和:

思路:

1. 如果当前剩余总和小于最大值:

a.循环当前剩余数字

b.递归执行

c. 用一个变量bestS存小于最大值情况下的最大总和


var bestS = {val:0,str:""};
var LIMIT ;

Array.prototype.sum = function(){
var s = 0;
for(var i = 0;i < this.length;i++){
s+= this[i];
}
return s;
}


function f(bagArr,copyArr,start){
var arrS = copyArr.sum();

if(arrS < LIMIT && arrS > bestS.val){
bestS = arrS > bestS.val ? {val:arrS,str:copyArr.join(',')} : bestS; 
}

for(var i = start;i<bagArr.length;i++){

copyArr.push(bagArr[i]);
f(bagArr,copyArr,i+1);
copyArr.splice(copyArr.length-1,1);

}

}

LIMIT = 197;
f(new Array(49,28,119,50,78,48,29,49,52,48,29,49,52,48,29,49,52),new Array(),0);
console.log(bestS);





相关文章:

  • 诺基亚7610隐藏分区 以及 诺基亚手机秘籍
  • 使用堆实现Top K 算法 JS 实现
  • 无需上传 不必架设FTP 轻松完成文件共享
  • 快速幂算法 - JS 实现
  • Ubuntu 9.04试用过程全接触
  • 算法练习--二分搜索哈希表-JS 实现
  • 网友试用Ubuntu 9.04 Beta版的测评
  • WordPress 被注入 Google Analysis Code 的解决办法
  • MongoDb C# Wrapper 类 (MongoDb Driver 1.9)
  • [Windows编程] 监视DLL装载/卸载
  • 那些开发中用到的模式——访问者模式
  • 浏览器的几个感悟
  • 本地配置 MongoDb
  • Symbian下获取GSM Cell信息
  • C# 操作MongoDb 错误Element '_v' does not match any field or property of class XXX
  • 11111111
  • AHK 中 = 和 == 等比较运算符的用法
  • angular2 简述
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Python 基础起步 (十) 什么叫函数?
  • spark本地环境的搭建到运行第一个spark程序
  • SQL 难点解决:记录的引用
  • 测试开发系类之接口自动化测试
  • 第十八天-企业应用架构模式-基本模式
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 软件开发学习的5大技巧,你知道吗?
  • 数据科学 第 3 章 11 字符串处理
  • 听说你叫Java(二)–Servlet请求
  • 译有关态射的一切
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 仓管云——企业云erp功能有哪些?
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​油烟净化器电源安全,保障健康餐饮生活
  • $().each和$.each的区别
  • (5)STL算法之复制
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (附源码)php新闻发布平台 毕业设计 141646
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET Reactor简单使用教程
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net经典笔试题
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET中使用Redis (二)
  • .pyc文件是什么?
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [20180129]bash显示path环境变量.txt