题目链接:679. 24 点游戏

这个题一开始,估摸估摸着数据量,感觉应该能用暴力暴力出来,只可惜自己写的暴力有问题,自己一开始的思想是,将4个数分为两两一组组,每组做加减乘除运算…很天真对吧现在看起来,也确实很天真。比如出现a+bcd这种情况就没法解出来了。核心思想就是递归,两两合并填入数组再递归,递归到数组大小为1为止。(吐槽一下, float精度真差,除非设成fabs()<=1e-3,否则有个案例过不了,但是用double就挺好的)

#define float double //大家可以把这行注释掉看看结果
class Solution {public:
int a[6];
int tar = 24;
int dfs(vector<float>v)
{int re = 0;if (v.size() == 1){if (fabs(v[0]- tar)<=1e-6)return 1;return 0;}for(int i=0;i<v.size();i++)for (int j = i + 1; j < v.size(); j++){vector<float>v1 = v;float tem1 = v[i]; float tem2 = v[j];v1.erase(v1.begin()+j);v1[i] = tem1 + tem2; re|=dfs(v1);v1[i] = tem1 - tem2; re |= dfs(v1);v1[i] = tem2 - tem1; re |= dfs(v1);if(tem2)v1[i] = tem1 / tem2; re |= dfs(v1);if(tem1)v1[i] = tem2 / tem1; re |= dfs(v1);v1[i] = tem1 * tem2; re |= dfs(v1);}return re;
}bool judgePoint24(vector<int>& cards) {vector<float>v;for(int i=0;i<4;i++)v.push_back(cards[i]);
if (dfs(v))return true;elsereturn false;}
};

Leetcode 679. 24 点游戏 (暴力)相关推荐

  1. LeetCode 679. 24 点游戏(回溯)

    文章目录 1. 题目 2. 解题 1. 题目 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 示例 1: 输入: [4, 1, 8, 7] 输 ...

  2. ACM. HJ67 24点游戏算法 679. 24 点游戏

    HJ67 24点游戏算法 ●● 679. 24点游戏 ●●● 描述 给定一个长度为4的整数数组 cards .你有 4 张卡片,每张卡片上都包含一个范围在 [1,9] 的数字.您应该使用运算符 ['+ ...

  3. 从LeetCode 679. 24 Game--C++ 解法--二十四点 到穷举24点所有可能性-24点大全

    从LeetCode 679. 24 Game–C++ 解法–二十四点 到穷举24点所有可能性 此文首发于我的个人博客:zhang0peter的个人博客 LeetCode题解文章分类:LeetCode题 ...

  4. 679. 24 点游戏

    链接:679. 24 点游戏 题解: https://leetcode-cn.com/problems/24-game/solution/ying-gai-shi-man-hao-li-jie-de- ...

  5. 力扣679.24点游戏

    24点游戏 描述: 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 分析: 题目意思就是求24点,但是直接说很抽象,这里举[4, 1, 8, ...

  6. 文巾解题 679. 24 点游戏

    1 题目描述 2 解题思路 2.1 遍历所有可能情况 我们先找出四张牌所有可能的排列组合. 然后对于每一种排列组合,我们先提出排列组合中最前面的两个数.然后对这两个数进行加\减\乘\除操作.将结果放入 ...

  7. [LeetCode] 679. 24 Game(回溯法)

    传送门 Description You have 4 cards each containing a number from 1 to 9. You need to judge whether the ...

  8. 力扣—679—24点游戏

    题目描述 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: (8-4) ...

  9. [Leetcode][第679题][JAVA][24点游戏][回溯][暴力]

    [问题描述][困难] [解答思路] 回溯 时间复杂度:O(1) 空间复杂度:O(1) class Solution {static final int TARGET = 24;static final ...

最新文章

  1. 【 MATLAB】 Two-step WLS algorithm Simulation of TOA - Based Positioning
  2. python爬虫能做什么项目-python爬虫实例项目大全
  3. 【嵌入式】C语言高级编程-嵌入式C语言简介(01)
  4. 二、PHP基础——连接msql数据库进行增删改查操作 实战:新闻管理项目
  5. Mac latex vscode配置外部PDF阅读器并配置对应跳转
  6. 苏宁双11战报:0点~1点 线上订单同比增72%
  7. 2、Python函数详解(0601)
  8. scholarscope不显示影响因子_Cancer Cell | 冯嘉怡博士等揭示精氨酸甲基转移酶抑制剂可通过影响RNA剪接发挥抑癌效果...
  9. 华为关闭telnet命令_华为交换机关闭Telnet、开启SSH服务命令
  10. 神经网络matlab仿真,神经网络模型及其MATLAB仿真程序设计 周开利 等著 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  11. 微信小程序源码打包合集 游戏商城抽奖转盘预约点餐等-1
  12. 【在线分享】考研数学思维导图+高数思维导图+汤家凤重点笔记+武忠祥重点笔记以及高数Xmind思维导图
  13. 16进制颜色代码#FF000000 (css颜色值)
  14. nginx无网络启动失败——proxy_pass域名DNS解析出错
  15. python网易公开课官网_可汗学院公开课:计算机科学
  16. FL Studio混合器之效果器插槽部分讲解
  17. Common Lisp 超规范(译文):5.数据和控制流
  18. 解决Android studio启动模拟器一直Waiting for target device to come online的一种方式
  19. 螺旋矩阵java_Java实现螺旋矩阵
  20. 网易云音乐(一)爬取全部歌手及歌手id

热门文章

  1. wxpython中grid控件一些用法总结
  2. uni中使用select标签后生成APP页面跳转空白
  3. Delphi 资源文件( .res)
  4. delphi cxgrid 增加选择框
  5. js返回当前时间函数
  6. 机器学习之决策树学习笔记
  7. 服务器支持m2固态,关于IBM X3650M2和固态硬盘的若干问题
  8. Qt使用.pri模块化工程
  9. 西山居测试开发工程师一面
  10. 无线图传mjpg-streamer精简版(开源)