designeer
designeer
全部文章
题解
面试指南(2)
归档
标签
去牛客网
登录
/
注册
designeer的博客
全部文章
/ 题解
(共50篇)
JZ19 正则表达式匹配
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param str string字符串 # @param pattern string字符串 #&...
Python2
Python3
动态规划
2021-11-11
3
761
JZ10 斐波那契数列
# -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): &nb...
Python2
Python3
动态规划
2021-11-11
3
503
JZ69 跳台阶
方法一:递归 题目分析,假设f[i]表示在第i个台阶上可能的方法数。逆向思维。如果我从第n个台阶进行下台阶,下一步有2中可能,一种走到第n-1个台阶,一种是走到第n-2个台阶。所以f[n] = f[n-1] + f[n-2]. 那么初始条件了,f[0] = f[1] = 1。 所以就变成了:f[n]...
Python2
Python3
动态规划
2021-11-11
7
675
JZ85 连续子数组的最大和(二)
class Solution: def FindGreatestSumOfSubArray(self , array ): &nb...
Python2
Python3
数组
动态规划
2021-11-11
2
696
JZ42 连续子数组的最大和
解题思路 方法1:连续的子数组,即数组中从i下标到j下标(0<=i<=j<数组长度)的数据,想要获得所有的子数组和,可以通过暴力法,两次循环获得,但时间复杂度为O(n^2),效率不高。 方法2:动态规划,设动态规划列表 dp,dp[i] 代表以元素 array[i] 为...
Python2
Python3
数组
动态规划
2021-11-10
3
691
JZ44 数字序列中某一位的数字
解题思路 思路:数学 先观察数字规律 小于10,1~9,9个数字,9位 小于100,10~99,90个数字,180位 小于1000,100~999,900个数字,2700位 各个区间的下限上限是[0,10),[10, 100),[100,1000)...位...
Python2
Python3
数组
字符串
2021-11-10
15
2374
JZ38 字符串的排列
思路 递归法,问题转换为先固定第一个字符,求剩余字符的排列;求剩余字符排列时跟原问题一样。 遍历字符串,固定可能出现在第一个位置的字符,作为第一个字符,后面剩下的字符串的组合用递归使用本函数的方式得到。 # -*- coding:utf-8 -*- cl...
Python2
Python3
字符串
2021-11-10
20
1031
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
1052
首页
上一页
1
2
3
4
5
下一页
末页