自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 nodejs web项目-阿里云部署步骤

- 在阿里云ECS控制台配置安全组开放端口,顺便看下防火墙情况 firewall-cmd。给别人开发了一个足浴店会员管理项目, 因为项目偏小,所以采用的是。在src/下创建 env_conf.js 并配置对应参数。npm install //安装所有依赖。--安装mariadb, mysql好像要收费。在/etc/profile文件中,新增以下两行。--初始化数据库,按提示输入,要先启动数据库。--查看mariadb安装状态,并启动。--安装git,并下载代码。--安装nodejs。

2024-05-01 18:05:04 150

原创 员工派遣(200)

这题首先想到的就是暴力计算,很简单。网上有很多二分法,没研究。

2024-04-30 15:28:38 103

原创 矩阵匹配-od

这个题还是有难度,200分值了。上面链接有描述它的解法,二分查找+二分图,因为早前我已经见识过二分图,所以这块理解不是很难。倒是它的第K大,转换位N-K+1的概论是非常牛逼但也容易绕的地方。这个题我花了1个小时编程java代码,所以如果对这解题思路不理解,建议还是用暴力吧,毕竟暴力不能满分但编程确简单,节省时间。

2024-04-30 12:14:19 70 1

原创 剩余银饰的重量

【代码】剩余银饰的重量。

2024-04-29 19:07:42 205

原创 GPU 调度/执行时长

这题只要看几个测试用例就能知道意思,单纯看描述确实有些不清不楚,od里面有不少题描述是含糊不清的。首先这题基本不涉及算法,简单遍历即可,多余处理不了的任务把它放到一下一个任务去处理。

2024-04-29 17:22:46 77

原创 构成指定长度字符串的个数 / 字符串拼接

递归排列,对待去重的问题一律先排序。

2024-04-29 15:30:14 132 2

原创 用连续自然数之和来表达整数

【代码】【无标题】

2024-04-29 14:44:41 169 1

原创 查找一个有向网络的头节点和尾节点

这个题考察基础的dfs遍历, 重点在解决环的问题,需要用一个集合存储自己访问的路径,如果下一个访问的点已经存在路径中,说明这是一个环,直接退出递归循环。

2024-04-29 11:50:50 106

原创 图像物体的边界 od

知乎上用的是并查集,我这边用的是循环队列。找边界就是找任何两个5之间的距离,通过观察发现两个5之间距离只要满足绝对值: x1-x2<=3 或者 y1-y2<=3就会出现边界相交。既如此,那就遍历计算每个5与剩下5之间的坐标距离,查找过程用到了队列,因为A与B本不相交,但A与C,B与C相交就会导致A-B相交,所以用队列可以把这种乱七八糟的关系给串起来。

2024-04-28 22:13:54 93

原创 会议室占用时间段 od

又是区间问题,排序是重点,按结束时间降序排队,然后遍历,看当前的结束时间是否在上一个时间区间内,确定是否是一个新的还是去合并。

2024-04-26 17:20:19 198 4

原创 数据最节约的备份方法 od

前提先把数据按大-》小排序,然后双指针向右移动,遵循原则,在不超过500容量情况下,尽可能的消耗大数,小数留到后面,如 300 200 100 100, 300+200=500 300+100+100=500优先用前面的组合。这个题跟那个【信道分配】有类似之处,信道分配更复杂需要回溯,这个简单只需要正向遍历即可。

2024-04-26 16:35:28 174 1

原创 分解连续正整数组合/ 分解正整数

整数拆解为连续最短数之和,这个题用滑窗肯定能解,数据遍历太大。其实这是一个类似闹剧急转弯的题,奇数可以分解为2个连续数相加。奇数+1/2找到中位数就是答案, 如果是偶数,则要按奇数的做法,拆解两次即可找到答案,当然有的偶数是没有答案的。

2024-04-26 15:16:54 130 3

原创 叠积木-od

最开始看错题,以为是尽量求层数最多的组合,那就是各种全排列都要考虑了,原来题目说明所有的积木都要用上。这就简单,先将所有积木从大到小排序,每层可以是1根也可以2根,那第一层就只有两种情况,第一根作底,第一加倒数最小作底。然后第二层一样,要么是第二根,要么就是第二根+倒数剩下最小那根。所以这个题就变成了类似双指针的问题,我是用递归来处理双指针,其实也可以直接while循环来处理。

2024-04-26 11:54:23 106 2

原创 亲子游戏-od

【代码】亲子游戏-od。

2024-04-25 22:31:59 174 2

原创 连续出牌数量-od

手里给一副手牌,数字从0-9,有r(红色),,g(绿色),b(蓝色),y(黄色)四种颜色,出牌规则为每次打出的牌必须跟上一张的数字或者颜色相同,否则不能抽选。选手应该怎么选才能使得抽选的次数最大,并且输出这个最大次数。考察全排列,比较简单。我用0-3代表rgby,懒得转化。第二行 牌的颜色(r,g,b,y四种颜色表示)第一行 牌的数值n (1<=n<=9)

2024-04-24 23:24:07 91

原创 田忌赛马-od

给定两个只包含数字的数组a, b, 调整数组a里面数字的顺序,使得尽可能多的a[i] > b[i]。数组a和b中的数字各不相同。输入的第一行是数组a中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。输入的第一行是数组b中的数字,其中只包含数字,每两个数字之间相隔一个空格,b数组大小不超过10。最优结果只有一个,a = [11, 20, 8],故输出1。考察全排列,排列之前队数组a进行排序,目的是去重。输出所有可以达到最优结果的a数组数量。输出所有可以达到最优结果的a数组数量。

2024-04-24 21:31:13 199

原创 服务中心的最佳位置

这类题一种简单暴力解法,先找到所有区间最左侧值最小值,最右测最大值,然后遍历所有位置到服务列表的距离和,取最小和即可。但这个题还有更优化的地方,就是中位数原理,既在一条直线上的所有点,中点到其他点的距离和一定最小。那就可以先找到所有区间起点的中位数,再找所有终点的中位数,会得到left->right一个更小的区间,然后遍历这个区间即可,大大缩小范围。的位置,并希望能够以此为依据为新的服务中心选址:使服务中心。,请返回最佳的服务中心位置到所有区域的距离总和的最小值。表示区域的右侧终点,设择服务中心的位置为。

2024-04-24 17:21:23 217

原创 华为OD机试 - 根据IP查找城市

注:最佳匹配即包含待查询IP且长度最小的IP段,比如例子中3.4.4.4最佳匹配是City2=3.3.3.3,4.4.4.4,5.5.5.5的最佳匹配是City3=2.2.2.2,6.6.6.6。这个题解题思路同【可以处理的最大任务-华为OD】,将IP段的开始结束换算为long,然后结束IP降序,开始IP升序,将验证的IP与结束IP依次比较,发现最后那个大于等于自己的结束IP就是答案。第二行为查询的IP列表,多个IP采用英文逗号 ',' 分隔,最多不超过10000条。城市名=起始IP,结束IP。

2024-04-24 15:18:08 233

原创 可以处理的最大任务-华为OD

贪心思想,假如每个任务都是在最后一天才去作,用每个任务的结束时间倒叙,其次开始时间也要倒叙,前后结束时间相比较,若相同则当前结束时间往前推一天。原文链接:https://blog.csdn.net/weixin_45228198/article/details/136890860。tasks[i] = [si, ei],该任务可以在si

2024-04-24 12:37:33 106

原创 结队编程-华为OD

从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分别为 level[i],level[j],level[k],结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],其中 0 ≤ i < j < k < n。这个题不该算200分,比较简单,题意已经限制索引是从小到大,三重循环即可搞定。第二行输入:按序号依次排列的员工的职级 level,中间用空格隔开。同一员工可以参加多个小组。第一行输入:员工总数 n。

2024-04-24 10:40:22 179

原创 华为OD机试统一考试D卷C卷 - 信道分配

b,然后启动递归从大到小遍历,递归分递推和回溯,首先在递推的过程中遵守一个原则,如果能满足,则尽量多的消耗这个数,不满足则去下一个低阶,比如D=30,遇到R=32的时候,32此时太大,用掉可能会浪费,先不使用看下一个更小的适不适合,R=16,用掉1个不够,用掉2个又超了会浪费,那就先用1个,R=16的map映射就变为16->2。此时D还剩14,到R=8的时候可以使用 8->0,D=6,R=4数量为0跳过,R=2,可以最多使用3个刚好D=0,2->2。第二行,R+1个数字,用空格隔开。第一行,一个数字R。

2024-04-23 16:33:37 371

原创 OD机试 2024 考试题 【幼儿园篮球游戏】

其中3、1、2、4、5的取出场景为:->连续放入1、2、3号->从右边取出3号->从左边取出1号->从左边取出2号->放入4号->从左边取出4号->放入5号->从左边取出5号简答起见,我们以L表示左,R表示右,此时取出篮球的依次取出序列为“RLLLL”。如老师按顺序放入1、2、3、4、5共有5个编号的篮球,那么小朋友可以依次取出编号为1、2、3、4、5,或者3、1、2.4、5编号的篮球,无法取出5、1、3、2、4编号的篮球。

2024-04-23 15:31:56 280

原创 最大社交距离【华为OD机试JAVA题解】

4,关于离开,按遍历去处理有些麻烦,是否有一种更简单的方式,因为如果离开1个人,再进入1个人,其实就是一个相互抵消,优先队列依然会回到原来的状态,相互抵消了,既然这样就会简单很多,比如总的seatOrLeave有10次进入,3次离开,那就进处理7次进入,完全不用管离开,有点脑筋急转弯,有空可以搞点数据试验下。3,关于离开,-4表示索引4的人会离开,那可以顺序遍历队列,检查起点和中点为4的(理论上最多两个节点,且是前后相邻)进行合并后再入队。最后进来的员工,他会坐在第几个位置,如果位置已满,则输出 -1。

2024-04-23 11:39:17 163 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除