designeer
designeer
全部文章
分类
面试指南(2)
题解(51)
归档
标签
去牛客网
登录
/
注册
designeer的博客
全部文章
(共53篇)
JZ4 二维数组中的查找
题解一: 利用二分搜索 解题思路: 利用数组每行每列都是递增特性。 主要思路: 逐行使用二分搜索,查找是否含有target 如样例:分别每行使用一次二分搜索(M次二分查找) class Solution: #  ...
Python2
Python3
数组
2021-11-10
11
1266
JZ53 数字在升序数组中出现的次数
这道题目直接遍历一遍也是可以得到答案的。不过如果想快一点的话我们可以用二分查找 前置题目:NC105 二分查找 用二分的方法找到第一个大于等于k的位置(lower_bound)和第一个大于k的位置(upper_bound),然后相减就可以得到答案了。 如下图:lower_bound = ...
Python2
Python3
数组
2021-11-09
2
557
JZ59 滑动窗口的最大值
算法思想一:暴力法(窗口数组) 解题思路: 主要通过遍历所有的滑动窗口,找到每一个窗口的最大值,窗口的数量为 len(num) - size + 1 1、特殊情况:窗口大小为0或者窗口大于数组的长度,直接返回空列表 2、初始化返回列表res,遍历所有滑动窗口 3、找到窗...
Python2
Python3
滑动窗口
2021-11-09
14
1070
JZ73 翻转单词序列
先转单词,再转句子。比较简单好理解的Python代码 class Solution: def ReverseSentence(self, s): &n...
Python2
Python3
2021-11-09
1
354
JZ31 栈的压入、弹出序列
思路:新建一个栈,将数组A压入栈中,当栈顶元素等于数组B时,就将其出栈,当循环结束时,判断栈是否为空,若为空则返回true. # -*- coding:utf-8 -*- class Solution: &nbs...
Python2
Python3
栈
2021-11-08
2
420
JZ30 包含min函数的栈
1. 解题思路 1.1 回顾栈的特性 只在一端 插入和删除数据,并且数据存在先进后出,后进先出的特性。 核心代码 class Solution: def __init__(self): ...
Python2
Python3
栈
2021-11-08
1
425
JZ9 用两个栈实现队列
算法思想:双栈(此题已明确解题方法即双栈) 解题思路: 借助栈的先进后出规则模拟实现队列的先进先出 1、当插入时,直接插入 stack1 2、当弹出时,当 stack2 不为空,弹出 stack2 栈顶元素,如果 stack2 为空,将 stack1 中的全部数逐个出栈入...
Python2
Python3
栈
队列
2021-11-08
0
389
JZ68 在二叉树中找到两个节点的最近公共祖先
基于公共祖先特点的递归做法 从根节点往下递归: 1. 若该节点是第一个值为o1或o2的节点,则该节点是最近公共祖先; 2. 否则,看左子树是否包含o1或o2: 2.1 若左子树包含o1或o2,则看右子树有没有: &nb...
Python2
Python3
二叉树
2021-11-08
4
679
JZ84 二叉树中和为某一值的路径(三)
import sys sys.setrecursionlimit(100000) class Solution: def __init__(self): &nbs...
Python2
Python3
二叉树
2021-11-07
1
647
JZ37 序列化二叉树
思路 题目分析 题目给出我们一棵树,要求我们实现两个函数 第一个函数要求我们以任意遍历方式返回一个字符串 第二个函数要求我们可以从上一个字符串中重新返回这棵树 方法一:递归 ...
Python2
Python3
二叉树
2021-11-07
1
478
首页
上一页
1
2
3
4
5
6
下一页
末页