自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 python执行pip报错原因排查

python执行pip报错原因排查:1、无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。2、Fatal error in launcher: Unable to create process using '"D:\Work\Tool\Python\python.exe" "D:\Work\Tool\Python\Python\Scripts\pip.exe" ': ???????????

2024-06-11 17:32:56 212

原创 LeetCode面试经典150题—13 分发糖果

拆分规则:将 “相邻两个孩子评分更高的孩子会获得更多的糖果” 这条规则拆分为左右两边的两条规则进行处理。左规则:从左往右遍历,当右边的孩子评分(当前遍历到的 ratings[i] )比左边高( ratings[i] > ratings[i - 1] )时,右边的孩子获得的糖果数比左边多 1 个;否则令 ratings[i] = 1右规则:与左规则同理,从右往左遍历,当左边的孩子评分(当前遍历到的 ratings[i] )比右边高( ratings[i] > ratings[i +1] )时,左边的孩

2023-10-11 21:03:12 51 1

原创 LeetCode面试经典150题—12 加油站

暴力 + 剪枝:最容易想到的暴力解法就是挨个遍历,假设下标 i 是出发时加油站的编号,变量 sum 存储当前剩余油量,从下标 j = i 开始维护更新 sum 值填坑思想:亏空最严重的一个点必须放在最后一步走,等着前面剩余的救助这个想法是在找 gas[i] - cost[i] 总和的最低点 minIndex,这个最低点就是亏空最严重的地方,那么将这个点放在最后去经过就是最安全的,即将minIndex 的下一个点作为出发点

2023-09-22 19:00:00 182 1

原创 LeetCode面试经典150题—11 除自身以外数组的乘积

左右乘积:题目中有提到 “前缀元素和后缀元素的乘积”,如果敏感的话这里就可以想到左右乘积的思路,把除自身以外的乘积拆分为左右两边乘积的乘积通过两次遍历分别维护左右两个数组 l、r,l[i] 表示下标为 i 的元素左边数字的乘积,r[i] 表示下标为 i 的元素右边数字的乘积最后一次遍历将数组左右两边的乘积再相乘

2023-09-21 13:00:00 120

原创 LeetCode面试经典150题—10 O(1)时间插入、删除和获取随机元素

题目要求保证每个函数的平均时间复杂度为 O(1),这里可以联想到用哈希表来实现添加和删除操作,具体详解见文末Hash 表拓展。这里用 List 作为变长数组存储元素,用 HashMap 作为哈希表,哈希表存储的是元素及其在 list 中对应的下标

2023-09-20 14:05:17 101 1

原创 LeetCode面试经典150题—09 H 指数

排序 从前往后:首先对数组升序排序,末尾即最大值 max,那么在该数组中 H 可能的最大值就是 max =Math.min(len, citations[len - 1])。从前往后遍历,在数组中查找大于等于 max 的最小位置,然后计算这样的数有多少个并与 max 进行比较。为什么是大于等于 max 呢?因为当得到的个数小于当前的 max 时,接下来需要使 max-- 继续查找,而此时 max 的值在数组中不一定存在

2023-09-16 16:50:05 140 1

原创 LeetCode面试经典150题—08 跳跃游戏 Ⅱ

动态规划:回顾动态规划一般解题要点:定义状态、状态转移方程、初始值、输出值本题定义数组 dp[i]:到达坐标为 i 处的最小跳跃次数、初始值:dp[0] = 0,dp[1] = 1、输出值:dp[n-1]贪心算法:在每次可跳跃边界里选择可以跳得更远的位置。定义三个变量:跳跃次数、当前跳跃次数下能到达的最远边界、当前边界实际能达到的最远位置

2023-09-15 10:00:00 92 1

原创 LeetCode面试经典150题—07 跳跃游戏

跳过 0:如果数组中没有 0,那么一定能到达最后一个下标;反之则判断是否能跳过,判断依据是看这个 0 前面的元素是否存在数值大于到 0 的距离维护最远能到达的位置:边跳边维护更新当前能到达的最远位置,能到达最后则成功,有点贪心思想

2023-09-14 13:33:14 139 1

原创 LeetCode面试经典150题—06 买卖股票的最佳时机 Ⅱ

这道题与05 买卖股票的最佳时机的区别就在于它可以多次买入卖出,这里提出动态规划和贪心算法两种解题思路

2023-09-13 13:37:59 103

原创 LeetCode面试经典150题—05 买卖股票的最佳时机

根据题意可以考虑一种特殊情况:数组降序,这种情况下不会盈利,因此最大利润为0。

2023-09-12 20:40:48 49

原创 LeetCode面试经典150题—04 轮转数组

这道题想做出来很简单,设置成中等题应该是因为它的进阶要求:用空间复杂度为 O(1) 的算法解决。三次翻转,先整体翻转,然后以 k 为界左右两边分别翻转,就相当于右移了 k 位。额外创建新数组,遍历存放元素轮转后的结果。时间复杂度:O(n)空间复杂度:O(n)时间复杂度:O(n)空间复杂度:O(1)

2023-09-12 11:50:51 93

原创 LeetCode面试经典150题—03 删除有序数组中的重复项 Ⅱ

删除有序数组中的重复项 Ⅱ 思路分析:HashMap、双指针、数组有序 & 保留

2023-09-11 18:10:29 141

原创 LeetCode面试经典150题—02 移除元素

移除元素基本思路分析

2023-09-06 20:30:00 119 1

原创 LeetCode面试经典150题—01 合并有序数组

合并有序数组思路分析与数组拷贝方法拓展

2023-09-04 20:45:46 246 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除