这是六则或许对你有些许帮助的信息:

1、阿秀在工作之余开发了一个编程资源网站,目前已经收集了很多不错的学习资源和黑科技(附带下载地址),如你有意欢迎体验以及推荐自己认为不错的资源,众人拾柴火焰高,我为人人,人人为我🔥!

2、👉23年5月份我从字节跳动离职跳槽到某外企期间,为方便自己找工作,增加上岸几率,我自己从0开发了一个互联网中大厂面试真题解析网站,包括两个前端和一个后端。能够定向查看某些公司的某些岗位面试真题,比如我想查一下行业为互联网,公司为字节跳动,考察岗位为后端,考察时间为最近一年之类的面试题有哪些?

网站地址:InterviewGuide大厂面试真题解析网站。点此可以查看该网站的视频介绍:B站视频讲解 如果可以的话求个B站三连,感谢!

3、😊 分享一个学弟发给我的20T网盘资源合集点此白嫖,主要是各类高清影视、电视剧、音乐、副业、纪录片、英语四六级考试、考研考公等资源。

4、😍免费分享阿秀个人学习计算机以来收集到的免费学习资源,点此白嫖;也记录一下自己以前买过的不错的计算机书籍、网络专栏和垃圾付费专栏;也记录一下自己以前买过的不错的计算机书籍、网络专栏和垃圾付费专栏

5、🚀如果你想在校招中顺利拿到更好的offer,阿秀建议你多看看前人踩过的坑留下的经验,事实上你现在遇到的大多数问题你的学长学姐师兄师姐基本都已经遇到过了。

6、🔥 欢迎准备计算机校招的小伙伴加入我的学习圈子,一个人踽踽独行不如一群人报团取暖,圈子里沉淀了很多过去21/22/23届学长学姐的经验和总结,好好跟着走下去的,最后基本都可以拿到不错的offer!此外,每周都会进行精华总结和分享!如果你需要《阿秀的学习笔记》网站中📚︎校招八股文相关知识点的PDF版本的话,可以点此下载

# 679. 24 点游戏

力扣原题链接(点我直达) (opens new window)

你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 */+-() 的运算得到 24。

示例 1:

输入: [4, 1, 8, 7]
输出: True
解释: (8-4) * (7-1) = 24
1
2
3

示例 2:

输入: [1, 2, 1, 2]
输出: False
1
2

注意:

  1. 除法运算符 / 表示实数除法,而不是整数除法。例如 4 / (1 - 2/3) = 12 。
  2. 每个运算符对两个数进行运算。特别是我们不能用 - 作为一元运算符。例如,[1, 1, 1, 1] 作为输入时,表达式 -1 - 1 - 1 - 1 是不允许的。
  3. 你不能将数字连接在一起。例如,输入为 [1, 2, 1, 2] 时,不能写成 12 + 12 。

# 1、直接穷举

class Solution {
    public boolean judgePoint24(int[] nums) {
        double a = nums[0];
        double b = nums[1];
        double c = nums[2];
        double d = nums[3];
        return judge(a, b, c, d);
    }
    public boolean judge(double a, double b, double c, double d){
        return 
        // a b 
        judge(a + b, c, d) ||
        judge(a * b, c, d) ||
        judge(a - b, c, d) ||  
        judge(b - a, c, d) ||
        judge(a / b, c, d) ||
        judge(b / a, c, d) ||
        // b c 
        judge(c + b, a, d) ||
        judge(c * b, a, d) ||
        judge(c - b, a, d) ||  
        judge(b - c, a, d) ||
        judge(c / b, a, d) ||  
        judge(b / c, a, d) ||
        // c d 
        judge(c + d, a, b) ||
        judge(c * d, a, b) ||
        judge(c - d, a, b) ||  
        judge(d - c, a, b) ||
        judge(c / d, a, b) ||
        judge(d / c, a, b) ||
        // b d 
        judge(b + d, a, c) ||
        judge(b * d, a, c) ||
        judge(b - d, a, c) ||  
        judge(d - b, a, c) ||
        judge(b / d, a, c) ||
        judge(d / b, a, c) ||
        // a c 
        judge(a + c, b, d) ||
        judge(a * c, b, d) || 
        judge(a - c, b, d) ||  
        judge(c - a, b, d) ||
        judge(a / c, b, d) ||
        judge(c / a, b, d) ||
        // a d
        judge(a + d, b, c) ||
        judge(a * d, b, c) ||
        judge(a - d, b, c) ||  
        judge(d - a, b, c) ||
        judge(a / d, b, c) ||
        judge(d / a, b, c) ;
        //
    }
    public boolean judge(double a, double b, double c){// 24 , 3 , 8
        return 
        judge(a + b, c) ||
        judge(a * b, c) ||
        judge(a - b, c) ||  
        judge(b - a, c) || 
        judge(a / b, c) || 
        judge(b / a, c) ||
        //
        judge(c + b, a) ||
        judge(c * b, a) ||
        judge(c - b, a) ||  
        judge(b - c, a) ||
        judge(c / b, a) ||
        judge(b / c, a) ||
        //
        judge(c + a, b) ||
        judge(c * a, b) ||
        judge(c - a, b) ||  
        judge(a - c, b) ||
        judge(c / a, b) ||
        judge(a / c, b);
    }

    public boolean judge(double a, double b){
        return 
        Math.abs(a + b - 24) < 0.001 ||
        Math.abs(a - b - 24) < 0.001 || 
        Math.abs(b - a - 24) < 0.001 ||
        Math.abs(a * b - 24) < 0.001 ||
        Math.abs(a / b - 24) < 0.001 ||
        Math.abs(b / a - 24) < 0.001;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88