社区
PHP
帖子详情
数组中取N个值相加等于某个固定值的所有组合
惹事生妃
2019-09-01 04:48:26
例如
一组数[1,2,3,4,5,6,7,9,10]
计算所有相加值等于12的所有组合
3,9
2,10
2,3,5
6,4,2
1,2,3,6
1,2,4,5
...全文
2903
3
打赏
收藏
数组中取N个值相加等于某个固定值的所有组合
例如 一组数[1,2,3,4,5,6,7,9,10] 计算所有相加值等于12的所有组合 3,9 2,10 2,3,5 6,4,2 1,2,3,6 1,2,4,5
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gga782a
2019-09-12
打赏
举报
回复
自己优化思路大概就是这样
gga782a
2019-09-12
打赏
举报
回复
gga782a
2019-09-12
打赏
举报
回复
$arr = [1,2,3,4,5,6,7,8,9,10]; $sum = 12; $len = count($arr); $data = []; function s($arr,&$data=[],$i=0,$length=0){ $len = count($data); for($j=$length;$j<$len;$j++){ foreach($arr as $k=>$v){ if($k+$i+1<count($arr)){ $str = $arr[$k+$i+1]; $sa = explode(',',$data[$j]); foreach($sa as $item){ if($item > $str){ continue 2; } } if(in_array($str,$sa)){ continue; }else{ if(implode(",",$sa) == ""){ continue; }else{ $s = implode(",",$sa).",".$str; $data[] = $s; } } }else{ break; } } } $i++; if($i>count($arr)){ return $data; }else{ return s($arr,array_unique($data),$i,$len); } } echo "<pre >"; $data = s($arr,$arr); //帅选满足条件的数组 function gf($data,$sum) { echo count($data)."--c<br />"; $newData = []; foreach($data as $k=>$v){ $a = explode(",",$v); $sums = array_sum($a); //echo $sums."<br />"; if($sums == $sum){ $newData[] = $v; }else{ continue; } } return $newData; } echo "<pre >"; $datas = gf($data,$sum); var_dump($datas); 自己组装成一个函数吧 这是考验 最难的都解决了
面试题 & 快速找出
数组中
两个数字,
相加
等于
某特定值的 四种实现方式
JAVA基础面试题:快速找出一个
数组中
的两个数字,让这两个数字之和
等于
一个给定的值。假设
数组中
的都是各不相等的整数。 这道题看起来很简单,但往往在面试中许多人一下子答不出来。 下面四种实现方式使用相对巧妙的方法来实现上述算法,供参考 。 方法一 1、拿目标值减去循环中的某个数组的元素值。 2、如果元素符合条件,就将下标放入到Map集合中。 public static Map<Integer,Integer> method1(int[] nums, int sum){ ...
从
数组中
选出和
等于
固定值
的n个数(JavaScript实现)
现实生活中的问题,可能会抽象为这样一种数据模型: 从一个
数组中
挑选出几个数,让这几个数
相加
的和为指定的值。 大多数读者应该有过网购的经历,网购一般会有个凑单功能,假如读者买了70元的商品,但是必须满100元才能包邮,这时系统会自动推荐一些商品,加起来差不多就100块钱了。 系统如何确定推荐哪些商品呢?这其实就是刚刚提到的模型,我们可以把热销商品的价格放...
求
数组中
多个数
相加
等于
某一值
主要思想:排序+两端逼近 内容:排序使得整个数组有序从而可以使用双指针从数组的两端向中间逼近所需要的值7、3Sum 顾名思义,求
数组中
3个数
相加
等于
某一特定的数自己写了一个似乎是O(n^2) 汗颜 在Two Sum的引导下,我成功使用了unordered_map 然而在run code的时候就发现了一个无法解决的问题: Your input [-1,0,1,2,-1,-4] Your a
用C#写一个函数,在一个
数组中
找出随意几
个值
相加
等于
一
个值
与迭代器对比...
算法!用C#写一个函数,在一个
数组中
找出随意几
个值
相加
等于
一
个值
比如,数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}要找出那些数
相加
等于
100 解决方案一: #region 解决方案一 int[] myarray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1...
php 获
取
的数组之和_php获
取
数组中
相加
和最接近或
等于
(<=),要小
等于
给定值的算法...
需要一个php算法,选出一串
数组中
的数字
组合
相加
和要最接近(<=)给定值的算法。例如 :上限值:38 给定数组值 15,20,10, 6正确结果选定:20 10 6这个要如何实现?求具体实现方式之前是按从大到小排序,再
相加
,发现选出 20 15 10,但是其实最优的是20 10 6,求帮助。。。回复内容:需要一个php算法,选出一串
数组中
的数字
组合
相加
和要最接近(<=)给定值的算法...
PHP
20,398
社区成员
19,656
社区内容
发帖
与我相关
我的任务
PHP
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
复制链接
扫一扫
分享
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
php
phpstorm
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章