logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

leetcode121买卖股票的最佳时机

MAX记录的是i位置右边的最大值,则i位置买卖股票的最大收益即为MAX-prices[i]。ret用于记录最大的收益,初始化为0。从后往前遍历prices向量,更新ret值,再更新MAX值,最后返回ret,即为所求。

文章图片
#算法#leetcode#职场和发展 +2
leetcode 506 斐波那契数

按照题目意思,直接,这种方法重复计算太多。由于解法一重复计算太多,比如在计算fib(5)的时候需要计算fib(3)和fib(4),在计算fib(4)的时候也要计算fib(3),重复计算过多。我们可以用一个数组,将前面计算过的结果存储起来,如果需要的结果是前面计算过的,就直接使用即可。由于fib(n)=fib(n-2)+fib(n-1),所以,可以开辟一个数组dp来存放相应的斐波那契数值,dp[i]

文章图片
#leetcode#算法#职场和发展 +1
leetcode2161 根据给定数字划分数组

本题与荷兰国旗问题有一定的区别,如果用三指针来解决,相对顺序是有可能被打乱的,所以本题可以使用直白的三次遍历,即。,分别将<pivot的数,=pivot的数,>pivot的数加入ret向量。

文章图片
#算法#leetcode#数据结构 +2
leetcode 1018 可被5整除的二进制前缀

由于题目描述比较清晰,所以我们可以采用模拟的方法来解决这个问题。

文章图片
#leetcode#算法#职场和发展 +2
leetcode 1863 找出所有子集的异或总和再求和

画出模拟解决这个问题,可以采用的方法来解决这个问题。

文章图片
#leetcode#算法#职场和发展 +2
leetcode3612 用特殊操作处理字符串I

遍历字符串,按照题目要求进行处理就可。

文章图片
#数据结构#leetcode#算法 +2
leetcode287寻找重复数

(1)首先,初始化slow指针为nums[0],fast指针为nums[nums[0]],slow指针每次走一步,fast指针每次走两步,直至slow==fast;(2)再定义一个新指针ptr,初始化为nums[0],ptr和fast每次走一步,直至二者相遇,返回此时的ptr,即为所求。由于本题的数字的范围为[0,n],数组的下标为[0,n],经过分析可以得知本题实质上是在找环的入口,可以使用。首

文章图片
#算法#数据结构#c++ +1
leetcode239 滑动窗口最大值

来记录窗口中元素出现的次数,map的键是窗口中的数,值为该数字在窗口中出现的次数。由于map的底层实现是红黑树,所以。,将其加入ret向量即可。

文章图片
#哈希算法#算法#leetcode +2
leetcode 64 最小路径和

由题意可知,本次的选择基于前面的结果,所以可以使用动态规划来解决这个问题。

文章图片
#leetcode#算法#职场和发展 +2
leetcode 3289 数字小镇中的捣蛋鬼

由于本题是要找出出现了两次的两个数字,所以我们可以借用来解决这个问题。在遍历数组nums的过程中统计数字出现的次数,hash[i]的值即为i出现的次数,当然,由于2<=n<=100,所以我们可以使用数组来模拟哈希表,当hash[i]==1时,将nums[i]加入ret向量,遍历完后返回ret即可。

文章图片
#leetcode#算法#职场和发展 +2
    共 17 条
  • 1
  • 2
  • 请选择