算法3-加减号得数方法数
题目
给定一个数组arr,你可以在每个数字之前决定+或者但是必须所有数字都参与
再给定一个数target,请问最后算出target的方法数是多少?
每一个数都参与运算,运算符号只有±,最终能得出target即可,求多少个方法可以实现?
暴力破解-递归
±两种方式都试一试,如果某一种方式得得数最后是0,那么方法数+1
package demo;public class Three {public int target_methods(int[] arr,int index,int target) {if(index==arr.length) {// 当一轮下来,数用完了,target=0,就说明这个方法可以,返回1return target==0 ? 1:0;}
// 因为不知道加减是否行得通,所以都试一下,如果+不成功就是0,-成功就是1
// 该实数的方法数的相加return target_methods(arr, index+1, target+arr[index])+target_methods(arr, index+1, target-arr[index]);}public int math_methods(int[]arr,int target) {// 从下标0开始return target_methods(arr, 0, target);}public static void main(String[] args) {Three three=new Three();int[] arr= {2,1,-1};int target=4;System.out.println(three.math_methods(arr, target));}}
算法3-加减号得数方法数相关推荐
- 【Android 安全】DEX 加密 ( 多 DEX 加载 | 65535 方法数限制和 MultiDex 配置 | PathClassLoader 类加载源码分析 | DexPathList )
文章目录 一.65535 方法数限制和 MultiDex 配置 二.多 DEX 加载引入 三.PathClassLoader 类加载源码分析 四.BaseDexClassLoader 类加载源码分析 ...
- 算法53----换钱的最小次数和方法数【动态规划】
一.题目:换钱的最小次数 给定数组arr,arr中所有的值都为正数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求组成aim的最少货币数. 举个 ...
- 算法进阶面试题07——求子数组的最大异或和(前缀树)、换钱的方法数(递归改dp最全套路解说)、纸牌博弈、机器人行走问题
第一题 给定一个数组,求子数组的最大异或和. 一个数组的异或和为,数组中所有的数异或起来的结果. 简单的前缀树应用 暴力方法: 先计算必须以i结尾的子数组的异或和,然后再计算机i+1的,以此类推... ...
- 【算法-Java实现】 换钱的方法数(暴力递归法)
[算法-Java实现] 换钱的方法数(暴力递归法) 文章目录 [算法-Java实现] 换钱的方法数(暴力递归法) 一.问题描述: 二.问题解答: **举例:** **思路:==暴力递归==** 三.算 ...
- 算法:使用单词表拼接字符串的方法数
题目描述 假设所有字符都是小写字母. 长字符串是str arr是去重的单词表, 每个单词都不是空字符串且可以使用任意次 使用arr中的单词有多少种拼接str的方式,返回方法数. 题目解析 从左到右尝试 ...
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
时之沙: http://blog.csdn.net/t12x3456 随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多 ...
- 由Android 65K方法数限制引发的思考
前言 没想到,65536真的很小. 1 Unable to execute dex: method ID not in [0, 0xffff]: 65536 PS:本文只是纯探索一下这个65K的来源, ...
- 方法数超了65535 无法安装的解决方案
错误:Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536 作为一名 ...
- Android开发笔记(一百七十九)避免方法数过多的问题
一个大规模的App工程,往往引入了数量繁多的第三方开发库,其中既有官方的Jetpack库,也有第三方厂商的开源包.有时候运行这种App会报错"Cannot fit requested cla ...
最新文章
- ubuntu12.04 启动mysql_Ubuntu 12.04 MySQL改utf-8 启动不了
- Java 5~11各个版本新特性史上最全总结
- 两个条件一个为false就运行_Python入门基础实例讲解——两个数字比大小,并输出最大值...
- Windows 7技巧之Telnet组件消失之迷
- 文件上传速度查询方法
- 深度解读鸿蒙轻内核CPU占用率
- Java基础(四)——异常、断言、日志
- 字节跳动又启动期权回购了,这次价格142美元,较上一轮回购价涨8%
- 搭建最简单的Drool框架
- link标签的用法及link属性大全
- 硬盘分区被格式化了如何恢复
- Matlab基于主分量的人脸重建显示
- selenium+java打开新标签页方法
- 关于react-router-dom 6.0.1的基础写法 解决Error A <Route> is only ever to be used as the child of <Routes>
- Java发送SMS短信
- body 没有被撑开_flex布局被子元素撑开如何保持内容不超出容器的方法
- EXCEL列乱序后内容重新对应
- 给定一个函数做其最佳平方逼近c语言,第三章 函数逼近 — 最佳平方逼近.
- Cesium源码解读系列(一):GeoJsonDataSource如何处理geojson格式的数据
- mysql查找语句报错_MYSQL报错注入-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....
热门文章
- Linux-Ubuntu中Google浏览器更新和桌面重启
- 宝塔部署chevereto图床
- 【C++】17.map和set的模拟实现
- 华硕(ASUS)TUF GAMING B460M+intel i7 10700f+00GB SSD固态硬盘 黑苹果EFI引导文件
- 电子科大信软互+班 程算I 2022级机考真题
- (一) nvidia jetson orin nvcsi tegra-capture-vi camera相关内容梳理 之 vi相关代码分析
- 什么是工业机器人的运动轴
- 二叉树先、中、后遍历递归+非递归
- 小白如何用U盘安装系统
- python 复数补充