Find all subset index of an array whose sums equal or nearest to a given target
조회 수: 1 (최근 30일)
이전 댓글 표시
- target = 700
- array = [200 250 340 100 500 360]
댓글 수: 3
Walter Roberson
2015년 9월 26일
So 200,200,200,100 would be accepted as long as no other permutation of those values was emitted?
답변 (1개)
Andrei Bobrov
2015년 9월 26일
a = dec2bin((0:bin2dec(sprintf('%d',ones(1,numel(array)))))')-'0';
k = bsxfun(@times,a,array);
d = abs(sum(k,2) - 700);
out = k(d == min(d),:);
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!