designeer
designeer
全部文章
分类
面试指南(2)
题解(51)
归档
标签
去牛客网
登录
/
注册
designeer的博客
全部文章
(共53篇)
JZ63 买卖股票的最好时机(一)
算法思想一:暴力法 解题思路: 需要找出给定数组中两个数字之间的最大差值(即,最大利润)。此外,第二个数字(卖出价格)必须大于第一个数字(买入价格)。 形式上,对于每组 i 和 j(其中 j>i)我们需要找出 max(prices[j]−prices[i]) 代码展示: ...
Python2
Python3
动态规划
2021-11-12
5
671
JZ71 跳台阶扩展问题
描述: 这是一道可以递归,记忆化递归,动态规划,递推思想的题目。 知识点:递归,动态规划,递推 难度:一星 题解: 方法一:暴力方法 设f[i] 表示 当前跳道第 i 个台阶的方法数。那么f[n]就是所求答案。 假设现在已经跳到了第 n 个台阶,那么前一步可...
Python2
Python3
动态规划
2021-11-11
1
546
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
JZ11 旋转数组的最小数字
算法思想一:暴力法 解题思路: 主要通过对数组遍历获取最小值(此方法一般不推荐使用) 算法流程: 1、特殊情况,如果数组为空,则直接返回0 2、创建最小值 minx 3、遍历数组每一个元素num,并更新最小值 minx = min(minx,num) 4、遍...
Python2
数组
2021-11-10
2
466
首页
上一页
1
2
3
4
5
6
下一页
末页