Snapchat - give sum target listInteger first who hits target wins
// DP 从 1-N 不重复取数 加到sum 上 第一个超过target赢 先手可以赢吗?
开始想错了,以为和climbing stairs和combination sum iv一个类型,是一个dfs
1 dfs(list, sum, target) 2 3 1. 如果list长度是0,那么就说明当前玩家没机会赢了,返回false 4 5 2. 如果list长度是1,那么说明该玩家赢了,因为后面一个玩家已经没机会抽了 6 7 3. 对于list中的数依次尝试: 8 9 如果当前数字加上sum能够达到target了,就返回true 10 否则,从list中把这个数移除,递归 11 12 如果递归的结果是true,也就是说下一个玩家会赢,也就是说当前玩家会输,那么result是false 13 再把这个数加回去,记得放回原位!
代码:
1 public class ChooseOneNumFirstWIllWin { 2 public boolean dfs(List<Integer> list, int sum, int target) { 3 if(list.size() == 0) { 4 return false; 5 } 6 if(list.size() == 1) { 7 return true; 8 } 9 boolean result = true; 10 for(int i = 0; i < list.size(); i++) { 11 if(sum + list.get(i) >= target) { 12 return true; 13 } 14 int cur = list.remove(i); 15 if(dfs(list, sum + cur, target)) { 16 result = false; 17 } 18 list.add(i, cur); 19 } 20 return result; 21 } 22 23 public static void main(String[] args) { 24 List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5)); 25 int sum = 0; 26 int target = 11; 27 ChooseOneNumFirstWIllWin sample = new ChooseOneNumFirstWIllWin(); 28 System.out.println(sample.dfs(list, sum, target)); 29 30 } 31 }
转载于:https://www.cnblogs.com/warmland/p/5940781.html
Snapchat - give sum target listInteger first who hits target wins相关推荐
- Target “pango_windowing“ links to target “Eigen3::Eigen“ but the target was not found. Perhaps a
一.问题描述: joes@joes:~/Downloads/pangolin-master/build$ cmake .. CMake Warning at CMakeLists.txt:75 (me ...
- php target当前页面,href标签target=_blank属性的妙用
我们都知道 html 超链接标签 href 属性 target="_blank" 的作用是使打开的链接以新开的窗口形式出现.但是除了直接写在 href 标签里面,你还知道有其他更巧 ...
- 【存储】 iSCSI Target(tgt) |什么是iSCSI target|SCSI协议
目录 简略 一.iSCSI 介绍 1. iSCSI 定义 2.什么是iSCSI target 3.几种常见的 iSCSI Target 3. 优缺点比较 软iscsi target 二.SCSI 协议 ...
- HTML中属于target属性有,HTML的target属性
HTML的target属性 时间:2017-10-2 元素的target属性用于指定在何处打开链接文档,如果在一个a标签内包含一个target属性,浏览器将会载入和显示用这个标签的href属性命名的, ...
- Target “xxx” links to target “Boost::filesystem“ but the target was not found
Boost::system Boost::thread Boost::timer等等替换为${Boost_LIBRARIES}即可
- [Swift]LeetCode1155. 掷骰子的N种方法 | Number of Dice Rolls With Target Sum
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:为敢(WeiGanTechnologies) ➤博客园地址:山青咏芝(https://www.cnblo ...
- LeetCode 653. Two Sum IV - Input is a BST--Python解法
题目地址:Two Sum IV - Input is a BST - LeetCode Given a Binary Search Tree and a target number, return t ...
- 698. Partition to K Equal Sum Subsets
文章目录 1 理解题目 2 分析 2.1进一步优化 2.2 根据花花酱解答 1 理解题目 Given an array of integers nums and a positive integer ...
- LeetCode 653. Two Sum IV - Input is a BST
题目: Given a Binary Search Tree and a target number, return true if there exist two elements in the B ...
最新文章
- 用like语句时的C#格式化函数
- 使用Postman测试导入和导出excel
- 如何在CrossOver里应用Windows容器的存档(备份)与恢复?
- mysql修改字符集utf8为utf8mb4
- 建立二叉树A【openjudge】
- java 链表 最小堆优先级队列_关于Java集合的小抄
- oracle数据库两表数据比较
- LeetCode 692. 前K个高频单词(优先队列)
- linux svn 设置propertise
- php ajax 懒加载demo,lazyload懒加载,怎么支持ajax获得的新内容?
- python判断密码是否正确_菜鸟使用python实现正则检测密码合法性
- IIS中间件渗透总结
- Java程序设计(面向对象)- 基本概念
- 苹果12系统链接到服务器超时,苹果iphone12无法连接wifi怎么回事 解决方法分享
- X.509证书与java
- Modbus功能码及错误码说明
- 学习搜狗workflow心路历程(1)Windows版本的环境搭建
- markman,让设计更有爱!
- 2019年电赛准备程序STM32版本
- QQ用户的帐号和密码安全
热门文章
- c++ 四舍五入保留两位小数_Excel中保留小数点位数
- 不止面试题,笔记源码统统都有
- 【Web安全】关于SQL注入简介以及使用SqlMap获取管理员密码的探索
- 返回指定大小的数组_python中数组和矩阵的基础以及应用
- linux 自动ping脚本,linux上ping脚本及zabbix3.xx上自动发现
- sql时间转换时分秒_SQL数据库中的是年月日时分秒格式的,什么语句能实现年月日的查询?...
- 集合 Arrays.asList | java.lang.UnsupportedOperationException: null
- mac mysql本地连接数_如何用command line链接mysql
- sqluldr2支持mysql吗_Oracle SQLULDR2 以及 SQLLDR 进行导入导出的功能说明
- 全球缺芯+瑞萨火灾——网络营销之下一众车企减产的减产,停产的停产