Leetcode
爱吃糖的范同学
https://lunaticer.gitee.io/ai-rise-code/ 个人站点
展开
-
【Leetcode】2. 两数相加
只需要注意一个问题,就是进位的添加和赋零。原创 2022-12-14 15:31:32 · 119 阅读 · 0 评论 -
【Leetcode】(面试题 01.02)判定是否互为字符重排
判断减1之后的位置上,记录数(出现次数)是否为负数,如果为负数(-1),则说明这个自负出现在s1中而未出现在s2中,由于s1,s2此时长度应该是相等的,这里就可以判断这个两个字符串不能构成互为字符重排。根据题目分析,这道题需要使用Hash表,通过创建一个128长度的数组(table),来表示128个字符,每个字符对应数组中的一个索引。通过记录字符在table上出现的次数(频率),判断是否可以重排。s1出现一次就在table中对应位置上加1。s2出现一次就是table中对应位置上减1。原创 2022-09-27 23:28:26 · 158 阅读 · 0 评论 -
【Leetcode】(121)买卖股票的最佳时机
解题思路:首先初始化了两个参数,maxProfit 最大收益:根据题目要求,初始化值为0;minPrice 最小价格,记录当前遍历到的数组元素中的最小价格的值。单层for循环,遍历数组中的每一个元素,记录当前遍历的最小价格值。判断当前价格减去最小价格所得到的收益是否大于历史最大收益。遍历结束返回最大收益即可。这道题考察的是动态规划问题DP。原创 2022-09-26 23:25:59 · 550 阅读 · 0 评论 -
【Leetcode】(278)第一个错误的版本
这时移动left_index到mid后一个版本位置(left_index = mid_index + 1);如果为true,说明当前的版本在序列的后部分。首先分析题目可以得到,通过isBadVersion函数分析的这个错误版本列表为:一个只有false和ture的一个有序数列,前部分为fasle,后部分为ture,我们需要找到第一个出现true的版本号(版本号是从1开始到n)。我们最终需要使得mid_index = left_index = right_index,且那个版本号对应为true即可。原创 2022-09-01 20:17:03 · 812 阅读 · 0 评论 -
【Leetcode】(704)二分查找
二分查找算法,主要是设置两个索引标记,分别记录左和右。这个算法需要不不断改变中间索引,直到找到target或者遍历完整个列表(注意列表一定是有序列表才能进行二分查找,否则需要先对列表元素进行排序,然后再二分)。算法的核心:不断改变边界索引,重新计算中间索引值,判断位置上的元素与target值是否相等!循环的结束条件:左边的索引大于或者等于右边的索引时。原创 2022-09-01 19:25:20 · 136 阅读 · 0 评论