本文主要是介绍给定一个正数包含的数组,和目标数aim,求是否可以任意选择多个数组成aim,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*** 给定一个正数包含的数组,和目标数aim,求是否可以任意选择多个数组成aim?* @author superman**/
public class Main {/*** 主函数调用进行优化* @param arr* @param aim* @return*/public static boolean isGet(int[]arr,int aim) {if(arr==null||arr.length==0) {return false;}int sum=0;for(int i:arr) {sum+=i;}if(sum<aim) {return false;}return isSum(arr,0,0,aim);}//递归函数public static boolean isSum(int[]arr,int i,int sum,int aim) {if(i==arr.length) {return sum==aim;}return isSum(arr,i+1,sum,aim)||isSum(arr,i+1,sum+arr[i],aim);}public static void main(String[] args) {int[]arr= {1,3,5,7,9,10};System.out.println(isGet(arr,8));}
}
这篇关于给定一个正数包含的数组,和目标数aim,求是否可以任意选择多个数组成aim的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!