面试算法
MLittlehands
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go面试题 腐烂的苹果(橘子、水果)
腐烂的苹果每分钟会向上下左右四个方向的苹果传播一次病菌,并导致相邻的苹果腐烂。请问经过多少分钟,网格中不存在完好的苹果。模拟广度优先搜索的过程,方法是判断在每个腐烂橘子的四个方向上是否有新鲜橘子,如果有就腐烂它。每腐烂一次时间加 11,并剔除新鲜集合里腐烂的橘子;0表示这个格子为空,1表示这个格子有一个完好的苹果,2表示这个格子有一个腐烂的苹果。本人是最讨厌这种类型的题目,感觉特别麻烦(本人太菜了)。m的网格,其中每个单元格中可能有三种值。首先分别将腐烂的橘子和新鲜的橘子保存在两个集合中;原创 2022-09-17 20:28:44 · 585 阅读 · 0 评论 -
go面试题 变位词组
和方法一类似,都是运用到互为变位词的两个字符串包含的字母相同,因此两个字符串中的相同字母出现的次数一定时相同的。因此我们可以将每个字母出现的次数用使用哈希来表示(map[字母]次数)。这里存在一个难点:怎么用字母作为键。不过变位词的字母顺序如何变化,在对字母进行排序后,都会得到相同顺序的字符。(如abc、bac、cab,在进行排序后都会得到相同的abc)。因此我们可以将排序后的字符串作为哈希表的键值。这道题对于会的人来说,比较简单,对于没有做过的人来说,难度较大。变位词是指字母相同,但排列不同的字符串。原创 2022-09-17 15:07:52 · 183 阅读 · 0 评论 -
go面试题 最大交换
题目:给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。给定数字的范围是[0, 108]原创 2022-09-13 19:25:44 · 246 阅读 · 0 评论 -
go面试题 生成合法的括号
构建括号字符串就是只要 “(” 有剩,就可以选 “(”。“(((((” 这么选,都还不能判定为非法。当 “)” 剩下的比 “(” 多时,才可以选 “)”,否则,“)” 不能选,选了就非法了。题目:生成合法的括号。设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。说明:解既不能包含重复的子集。2.只要"("的个数小于“)”的个数,我们就可以加入")",直到两者想等。1.只要“(” 的个数大于0就可以加入。例如,给出 n = 3,生成结果为。原创 2022-09-12 16:50:50 · 223 阅读 · 0 评论 -
go面试题 生成窗口最大数值
有一个整型数组arr和一个大小为n的窗口从数组的最左边滑动到最右边,窗口每次向右边滑动一个位置。如果数值长度为m,窗口大小为n,则一共生成m-n+1个窗口的最大值。输出:一个长度为m-n+1的数组ans,ans[i]表示每一种窗口状态下的最大值。以本案例为例,结果应返回{3,3,5,5,6,7}输入:整型数组arr,窗口大小为n.原创 2022-09-07 13:59:02 · 152 阅读 · 0 评论
分享