- 博客(79)
- 资源 (2)
- 收藏
- 关注
原创 巧用枚举替代if
亲爱的友友们,我们今天来看一下如何巧妙利用枚举来替代if语句能实现功能的代码千篇一律,但优雅的代码万里挑一【Tips】我们在写代码时,一定要考虑代码的通用性上面的案例中,第一个版本仅仅只是能实现功能,但是当发生变化时难以维护,代码里面有大量的if语句,看着也比较臃肿,后面的人来维护时,也只能不断的添加if语句,而第二个版本巧用枚举类的方法,用一个通用的获取fields的方法,我们的TestEnum代码就变得相当优雅了😎结语。
2023-03-28 00:01:26
54
1
原创 同程旅行面经(3轮技术1轮HR)后端
大家好吖😊,我是孤音(WX公众号:一个你理解不了的程序猿),今天来分享一下同程旅行的面试,如果你是在校生,面临着找实习工作或者准备校招,那么一定不要错过这篇文章额,看完或多或少会对你有帮助😎我一共面了4论,第一轮的面试距离现在太久了,而且当时手机出了一点点问题没有记录🤦♀️,所以我这里就写一下后面三轮问的问题吧😁二面和三面都是技术面,我就把我觉得那些还不错的问题记录下来吧,毕竟要全部写下来还是有点多,每轮面试时长大概都是40分钟左右😃。
2022-12-22 18:50:35
12421
4
原创 线程池简洁版
每个人有自己的生活方式,每个人有自己对待感情的态度使用线程池的好处降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的销耗。提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会销耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。这几张图先看一下,打个照面,等会读完再回来看下,会有意想不到的收货额hreadPoolExecutor执行示意图首先,Java中的线程池是通过Executor框架实现的,该
2022-07-03 10:34:28
12105
原创 临时备赛模板
文章目录基础算法前缀和差分字符串回文字符串数学快速幂模板矩阵快速幂gcd与lcm闰年判断质数组合卡特兰数杨辉三角搜索全排列组合并查集图spfa求最短路动态规划01背包完全背包多重背包分组背包基础算法一些技巧算法前缀和#include<bits/stdc++.h>#define ll long long #define maxn 1000010using namespace std; int sum[maxn]; int main(){ int n,m; cin>>
2022-04-08 23:55:59
6678
原创 POJ 1988 Cube Stacking
题目: POJ 1988 Cube Stacking ,哈哈,我们今天来看一道复杂一点的题嘛,这是选自POJ上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: POJ 1988 Cube Stacking思路:读了题目,思考了很久,才发现这道题就是个带权重的并查集,具体就看代码吧!我们来看看成功AC的代码吧:#include<iostream>#include<string>using
2022-03-12 13:41:10
7226
1
原创 CF1132D Stressful Training
题目: CF1132D Stressful Training ,哈哈,我们今天来看一道稍微复杂一点的题嘛,这是选自codeforce上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: CF1132D Stressful Training思路:这道题思路就是采用贪心和二分的思想!!我们先按照电脑能撑的时间时间从小到大排序,用一个优先队列来维护即可,我们每次判断队头是否符合条件即可,具体的直接看代码吧我们来看看成功
2022-03-11 14:36:16
1872
原创 [JSOI2007]建筑抢修
题目: [JSOI2007]建筑抢修 ,哈哈,我们今天来看一道贪心算法的题嘛,这是选自JSOI上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: [JSOI2007]建筑抢修思路:这道题可以采用反悔贪心算法,具体的就看代码吧,有注释的!我们来看看成功AC的代码吧:#include<bits/stdc++.h>using namespace std;#define ll long longint
2022-03-03 21:22:19
1980
原创 NC50528 滑动窗口
题目: NC50528 滑动窗口 ,哈哈,我们今天来看一道稍微复杂一点的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC50528 滑动窗口思路:单调队列的模板题,没什么好说的!我们来看看成功AC的代码吧:#include<bits/stdc++.h>using namespace std;int n,k;const int N=1000010;int a[N];d
2022-02-22 21:21:50
2745
原创 [NOIP2004]合并果子
题目: [NOIP2004]合并果子 ,哈哈,我们今天来看一道比较简单的题嘛,这是选自NOIP上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: [NOIP2004]合并果子思路:我们用两个队列,一个队列装已经排好序的元素,一个队列装合并后的元素,然后我们取出队头小的一个并出队,然后我们再取出队头小的一个并出队,然后把取出的两个元素相加,加入到合并元素的队列中去!具体的我们直接看代码!我们来看看成功AC的代码吧:
2022-02-22 17:13:36
2883
原创 NC15029 吐泡泡
题目:NC15029 吐泡泡 ,哈哈,我们今天来看一道非常简单的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC15029 吐泡泡思路:就用栈模拟一下就是!我们来看看成功AC的代码吧:#include<bits/stdc++.h>using namespace std;string s;stack<char> st;string ans;int main(
2022-02-21 17:54:28
2404
原创 NC21874 好串
题目: NC21874 好串 ,哈哈,我们今天来看一道非常简单的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC21874 好串思路:这道题非常简单,就是个括号匹配问题嘛,可以用栈来轻松AC,但我们这里用另一种办法,那就是用个计数器cnt,遇见a ,cnt++,否则cnt-- 。若在循环中cnt<0了,输出Bad,结束程序, 若循环中cnt没有小于0,那么我们判断下:若cnt等于0,输
2022-02-21 11:22:41
2183
原创 NC212914 牛牛与后缀表达式
题目: NC212914 牛牛与后缀表达式 ,哈哈,我们今天来看一道简单的数据结构题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC212914 牛牛与后缀表达式思路:这道题没什么好说的,根据题意做就是,采用栈这种数据结构比较好做,当然,也可以用数组,还有其他方法!我们来看看成功AC的代码吧:#define ll long longll calc(string x){ ll nu
2022-02-21 10:49:56
1853
原创 NC14893 栈和排序
题目: NC14893 栈和排序 ,哈哈,我们今天来看一道比较简单的数据结构题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC14893 栈和排序思路:维护一个后缀最大值数组,就比较方便求了,具体的我们直接看代码!我们来看看成功AC的代码吧:#include<bits/stdc++.h>using namespace std;const int N=1000010;int
2022-02-20 16:41:45
2374
原创 NC14662 小咪买东西
题目: NC14662 小咪买东西 ,哈哈,我们今天来看一道01分数规划的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC14662 小咪买东西思路:采用二分答案的思想,假设答案为x,那么商品的贡献为v-x*c,然后我们取前k个贡献最大的商品求和得到sum,若sum<0,则x假设大了,sum>0,则x小了,具体的直接看代码!!!我们来看看成功AC的代码吧:#include&
2022-02-20 11:22:00
2326
原创 NC14301 K-th Number
题目: NC14301 K-th Number ,哈哈,我们今天来看一道有点思维难度的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: NC14301 K-th Number思路:我们直接二分答案求解B中的第m大的数,假设答案为x,在A数组中,求解得到第K大数大于x的区间为cnt,若cnt>m-1,则说明x取小了!我们来看看成功AC的代码吧:#include<bits/stdc++
2022-02-19 15:38:02
2258
原创 [CQOI 2010]扑克牌
题目: [CQOI 2010]扑克牌 ,哈哈,我们今天来看一道二分答案的题嘛,这是选自CQOI上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: [CQOI2010]扑克牌思路:直接二分答案,假设答案是x,那么差的joker数量必须要小于等于m,然后根据题目要求,每套只能用1张joker,所以差的joker数量还要小于等于x,具体的我们直接看代码!我们来看看成功AC的代码吧:#include<bits/st
2022-02-18 21:33:27
2550
原创 POJ 2785 4 Values whose Sum is 0
题目: POJ 2785 4 Values whose Sum is 0 ,哈哈,我们今天来看一道稍微简单的二分题嘛,这是选自POJ上的一道题,好了,我们一起来看看题意吧:考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!题目传送门: POJ 2785 4 Values whose Sum is 0思路:这道题你要是写个4重循环那可就太惨了,其实可以是2重循环的,我们计算前两列的分别两两相加的和,用b数组装,然后计算后两列的分别两两相加的和,用c数组装,我们只需要计算
2022-02-18 17:51:58
2696
原创 [USACO 2010 Feb S]Chocolate Eating
题目: [USACO 2010 Feb S]Chocolate Eating ,哈哈,我们今天来看一道二分答案的题嘛,这是选自USACO上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: [USACO 2010 Feb S]Chocolate Eating题目描述输入描述Line 1: Two space separated integers: N and DLines 2…N+1: Line i+1 contains a si
2022-02-17 21:08:30
2753
原创 POJ 3104 Drying
题目: POJ 3104 Drying ,哈哈,我们今天来看一道稍微复杂一点的二分答案的题嘛,这是选自POJ上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: POJ 3104 Drying题目描述 It is very hard to wash and especially to dry clothes in winter. But Jane is a very smart girl. She is not afraid of
2022-02-16 21:46:05
2924
原创 [NOIP2015]跳石头
题目: [NOIP2015]跳石头 ,哈哈,我们今天来看一道二分答案的题嘛,这是选自NOIP上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: [NOIP2015]跳石头题目描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,
2022-02-15 21:22:22
2994
原创 [USACO 2009 Dec S]Music Notes
题目: [USACO 2009 Dec S]Music Notes ,哈哈,我们今天来看一道有二分思想的题嘛,这是选自USACO上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: [USACO 2009 Dec S]Music Notes题目描述FJ is going to teach his cows how to play a song. The song consists of N (1 <= N <= 50,000
2022-02-14 21:45:41
3449
原创 NC204382 中序序列
题目: NC204382 中序序列 ,哈哈,我们今天来看一道经典的二叉树的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: NC204382 中序序列注意 :这道题是核心代码模式,就是和力扣的那种提交模式!题目描述给定一棵有n个结点的二叉树的先序遍历与后序遍历序列,求其中序遍历序列。若某节点只有一个子结点,则此处将其看作左儿子结点 示例1输入5,[3,2,1,4,5],[1,5,4,2,3]输出
2022-02-13 18:34:37
3647
原创 NC50999 表达式计算4
题目: NC50999 表达式计算4 ,哈哈,我们今天来看一道需要超级细心的递归题,这是选自牛客上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: NC50999 表达式计算4题目描述 给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值数据可能会出现括号情况,还有可能出现多余括号情况数据保证不会出现≥ 2^31的答案,数据可能会出现负数情况 输入描述仅一行,即为表达式输出描述仅一
2022-02-12 18:01:50
3677
原创 [NOIP2004]FBI树
题目: [NOIP2004]FBI树 ,哈哈,我们今天来看一道稍微复杂一点的题嘛,这是选自codeforce上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: [NOIP2004]FBI树题目描述 输入描述第一行是一个整数 N。第二行是一个长度为 2N 的 01 串。输出描述包含一行,这一行只包含一个字符串,即 FBI 树的后序遍历序列。示例1输入310001011输出IBFBBBFIBFIIIFF思路:先放
2022-02-12 16:17:43
3895
原创 [NOIP2001]求先序排列
题目: [NOIP2001]求先序排列 ,哈哈,我们今天来看一道二叉树的递归题嘛,这是选自NOIP上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: [NOIP2001]求先序排列题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度 ≤ 8)。 输入描述2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出描述1行,表示一棵二叉树的先序。示例1输入BADCB
2022-02-11 17:24:41
4067
原创 NC15979 小q的数列
题目: NC15979 小q的数列 ,哈哈,我们今天来看一道简单的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: NC15979 小q的数列题目描述 输入描述输入第一行一个t随后t行,每行一个数n,代表你需要求数列的第n项,和相应的n’(t<4*10^5)输出描述输出每行两个正整数f[n]和n’,以空格分隔示例1输入201输出0 01 1思路:这道题我的做法是
2022-02-10 20:23:01
4256
原创 更相减损术--最大公约数
题目: 更相减损术 ,哈哈,我们今天来看一道稍微复杂一点的题嘛,这是选自codeforce上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: 更相减损术题目描述利用更相减损术求两个整数的最大公约数,即每次将较大的数变成大数减去小数的值 输入描述输入两个正整数,范围在1000000以内输出描述输出一个整数示例1输入4 6输出2思路:这个采用递归的形式比较容易理解我们来看看成功AC的代码吧:#inclu
2022-02-09 17:47:43
4870
原创 NC15173 The Biggest Water Problem
题目: NC15173 The Biggest Water Problem ,哈哈,我们今天来看一道非常简单的题,这是选自牛客上的一道题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: NC15173 The Biggest Water Problem题目描述 给你一个数,让他进行巴啦啦能量,沙鲁沙鲁,小魔仙大变身,如果进行变身的数不满足条件的话,就继续让他变身。。。直到满足条件为止。巴啦啦能量,沙鲁沙鲁,小魔仙大变身:对于一个数,把他所有
2022-02-09 17:43:18
3731
原创 起床困难综合症
题目: 起床困难综合症 ,哈哈,我们今天来看一道稍微有点思维难度的题嘛,这是选自OI真题,好了,我们一起来看看题意吧:题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!题目链接: 起床困难综合症题目描述21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因:在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握着睡眠之精髓,能随意延长大家
2022-02-09 14:17:55
3294
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人