
秋招
记录自己的互联网秋招历程
STRUGGLE_xlf
这个作者很懒,什么都没留下…
展开
-
机器人走迷宫问题
7.请为该机器人实现路径规划功能:给定房间大小,墙壁位置,请计算出陷阱方格与不可达方格分别有多少个。2.机器人固定从方格(0, 0)出发,只能向东或者向北前进,出口固定为房间的最东北角,如下图的。1.陷阱方格与不可达方格数量,两个信息在一行中输出, 以一个空格隔开。(结尾不带回车换行)5.有些地方是机器人无法达到的,如标记为A的方格,称之为不可达方格,不可达方格不包括墙壁。4.有些地方是- -旦到达就无法走到出口的,如标记为B的方格,称之为陷阱方格。6.如下实例图中,陷阱方格有2个,不可达方格有3个。原创 2023-11-18 11:47:11 · 1081 阅读 · 0 评论 -
猜密码:小杨申请了一个保密柜,但是他忘记了密码。只记得密码都是数字,而且所有数字都是不重复的。
箱子中字符拼出的字符串与密码的匹配忽略大小写,且要求与密码完全匹配,如密码abc匹配aBc,但是密码abc不匹配abcd。2.输出的密码数字要按照从小到大的顺序排列,密码组合需要按照字母顺序,从小到大的顺序排序。可能的密码组合,每种组合显示成一行,每个组合内部的数字以半角逗号分隔,从小到大的顺序排。请你根据他记住的数字范围和密码的最小数字数量,帮他算下有哪些可能的组合,3.输出的每一个组合的数字的数量要大于等于密码最小数字数量;1.输出的组合都是从可选的数字范围中选取的,且不能重复;原创 2023-11-18 10:45:59 · 375 阅读 · 0 评论 -
滴滴笔试——算式转移
题目:给出一个仅包含加减乘除四种运算符的算式(不含括号),如1+2*3/4,在保持运算符顺序不变的情况下,现在你可以进行若干次如下操作:如果交换相邻的两个数,表达式值不变,那么你就可以交换这两个数。原创 2023-09-07 14:40:06 · 322 阅读 · 0 评论 -
2024届校招-Java开发笔试题-S4卷
以下是一些常见的进程同步机制:互斥锁(Mutex)、信号量(Semaphore)、条件变量(Condition Variable)、屏障(Barrier)、读写锁(Read-Write Lock)、管程(Monitor)、自旋锁(Spin Lock)、消息传递。2.给定一个任意矩阵(用二维数组表示),要求从左上角移动至右下角,每次只能向下或向右移动一格,矩阵中的数字为本次移动的收益,请算出移动值右下角时,所经过路径和的最大收益。每个星际门的开启需要消耗一定的能量,这个能量由星际门上的数字表示。原创 2023-09-05 16:40:52 · 1422 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
思路:题目给出了先序遍历和中序遍历的结果,因为先序遍历遵循根–>左–>右,而中序遍历遵循左–>根–>右。所以先序第一个元素必定为根节点,我们可以对中序数组构建一个哈希表,用于存放每个元素的索引值,然后在中序找到根节点所在的索引。这样就可以知道左子树和右子树的数目,以及左子树和右子树的前序和中序遍历结果,最后可以使用递归方法构造出左子树和右子树,再将这两颗子树接到根节点的左右位置。先序遍历中「从 左边界+1+左子树节点数目 开始到 右边界」的元素就对应了中序遍历中「从 根节点定位+1 到 右边界」的元素。原创 2023-09-02 17:15:23 · 907 阅读 · 0 评论 -
【两个有序数组合并】
2、设置三个变量i,j,k分别指向A、B数组,以及合并后的数组的末尾,从末尾开始一个个遍历A、B数组中的元素,若A大于B,则把A数组中的元素放到A的最后位置,反之则把B数组位置放到A数组最后位置,最后遍历完之后,若B数组还剩余元素,则把数组再添加到A数组中。步骤:1、创建两个数组A、B分别读取输入流数据,其中A数组的大小应该设置为A、B两数组长度之和,因为A数组最后存放的是合并后的数据。给定两个有序整数数组 A 和 B,将B合并到A中,使得 A 成为一个有序数组。原创 2023-09-02 10:21:36 · 283 阅读 · 0 评论 -
【整数列表求三的倍数】
题目的意思是输入一个n,然后在这1-n个整数列表中,从第一个数开始计数,比如对于n=5,就是从1开始计数,这个计数指的是每个位置的索引,当计数到3时,是三的倍数,所以第三个数对应的数值应该被删除,删除之后,之前的计数值从第一个数开始计数,比如第一步计数到5,此时数字3被删除了,又从第一个开始计数,计数值从5开始数!问题描述: 给定一个从1到n的整数列表,从第一个数字开始计数,遇到3的倍数时,将该数从列表中删除,直至列表末尾。在剩下的数字中,从第一个数字开始,继续之前的计数值,同样遇到3的倍数时,删除该数。原创 2023-09-01 17:01:47 · 679 阅读 · 0 评论 -
Krahets 笔面试精选 88 题——40. 组合总和 II
由于题目说候选数组中的每个数字在每个组合只能出现一次,所以,为了避免重复,在开始之前对候选数组进行升序排序,这样优先选择小的数,如果当前的数都小于目标值,则后面的数就不用递归了。1、定义一个列表freq,每一个元素都是一个数组,其中第一个元素代表候选数字,第二个元素代表数字在候选数组中出现的次数。2、定义深度优先搜索方法,pos代表当前处理位置,rest代表剩余目标数。原创 2023-08-31 20:31:44 · 569 阅读 · 0 评论 -
JZ13 机器人的运动范围
从[0,0]开始,每次选择一个方向开始检查能否访问,如果能访问进入该节点,该节点作为子问题,继续按照这个思路访问,一条路走到黑,然后再回溯,回溯的过程中每个子问题再选择其他方向,正是深度优先搜索。这里要定义一个数组,表示每次遍历的四个方向,int[][] dir = {{-1,0},{1,0},{0,-1},{0,1}};表示向上移动一行,{{1, 0}} 表示向下移动一行,{{0, -1}} 表示向左移动一列,{{0, 1}}step 1:检查若是threshold小于等于0,只能访问起点这个格子。原创 2023-08-30 19:29:00 · 119 阅读 · 0 评论 -
JZ12 矩阵中的路径
递归适用于许多问题,如数学运算(如阶乘、斐波那契数列)、树结构遍历、图算法、字符串处理等。然而,使用递归时要注意合适的终止条件和避免出现无限递归。step 4:递归查找的时候,到了矩阵的边界或者是下一个字符与这个位置的字符不匹配,或者节点已经访问过了,或者字符串匹配完成都结束递归。step 2:设置flag数组记录某一次路径中矩阵中的位置是否被经过,因此一条路径不能回头。step 5:访问节点,修改flag数组,向其他四个方向延伸,回溯的时候修改flag数组。step 3:遍历矩阵,对每个位置进行递归。原创 2023-08-30 19:02:06 · 615 阅读 · 0 评论 -
vivo2020届春季校园招聘在线编程考试(一)
输入m=1,n=2,表示最少1个键,最多2个键,符合要求的键数是1个键和2个键,其中1个键的有效模式有9种,两个键的有效模式有56种,所以最终有效模式总数是9+56=65种,最终输出65。:输入参数:curr和remaining,代表当前键和剩余要连接的键数,该方法是一个深度优先搜索(DFS)的递归函数,用于计算在给定的键数限制下,从当前键开始的所有有效解锁模式的数量。:输入参数m和n,代表允许解锁的最少和最多键数,计算满足在范围[m,n]内允许的键数的所有有效模式的总数。2、所有的键都必须是不同的;原创 2023-08-30 17:01:52 · 173 阅读 · 0 评论 -
点点互动AI工程师笔试复盘
原创 2023-08-30 14:59:28 · 507 阅读 · 0 评论