- 博客(30)
- 收藏
- 关注
原创 双显示器切换为单显示器后,软件窗口找不到的问题
作者:血月笙歌来源:CSDN原文:https://blog.csdn.net/jueane/article/details/79233646版权声明:本文为博主原创文章,转载请附上博文链接!
2023-11-01 11:33:57
1256
原创 HOT100->121. 买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;
2023-03-22 17:13:58
100
原创 Anaconda 下使用
背景安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境。方法一每次在命令行通过conda deactivate退出base环境回到系统自带的环境方法二1,通过将auto_activate_base参数设置为false实现:conda config --set auto_activate_base false2,那要进入的话通过conda activate base3,如果反悔了还是希望base一直留着的话通过conda config --set auto_a
2022-02-27 10:10:48
106
原创 ubuntu18.04无法联网解决
停止sudo service network-manager stop1备份sudo cp /var/lib/NetworkManager/NetworkManager.state /var/lib/NetworkManager/NetworkManager.state.bak1删除sudo rm /var/lib/NetworkManager/NetworkManager.state 1启动sudo service network-manager start...
2022-01-18 14:03:12
1009
原创 每日一题:LC 390.消除游戏
LC 每日一题 :390 消除游戏题目简述:列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。给你整数 n ,返回 arr 最后剩下的数字。public int lastRemaining(int n)思路分析注
2022-01-02 16:18:18
1947
原创 每日一题:SwordOffer 07. 重建二叉树[前,中]
大家好,今天和大家分享一道二叉树的题目: 重建二叉树,让我们一起来看看把。题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回构建好的二叉树。思路:我们知道二叉树的先序遍历的顺序是头左右,中序遍历是左头右。也就是说可以依照这个顺序确定头结点,在上面的例子中,头结点root就是3,接下来,中序遍历会依照
2021-06-01 09:41:33
79
原创 每日一题:309. 最佳买卖股票时机含冷冻期
大家好,今天和大家分享一道动态规划的题目:最佳买卖股票时机含冷冻期,这道题目是一道熟悉的股票题,它是买卖股票的最佳时机的迭代版本。让我们一起来看看这道题目吧!描述给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。思路这道题目,关键点在于可以多次买卖+冷却
2021-05-27 09:51:47
143
原创 每日一题:LC:买卖股票的最佳时机
大家好,今天和大家分享一道动态规划的题目:买卖股票的最佳时机让我们一起来看看这道题目吧!描述假设你有一个数组,其中第 i\ i i 个元素是股票在第 i\ i i 天的价格。你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。思路这个股票只能买一次,卖一次。卖要在买之前。给出一个数组,一个简单的思路就是:把数组看成一个折线图,顶点的位置是我们要卖的时机。那么什么时候买呢?就是从开头到顶点位置里面的最小值。实际上这是一个全局比较的策略,我把所有可
2021-05-27 09:33:01
174
原创 每日一题:LEETCODE 740. 删除并获得点数
大家好,今天和大家分享一道动态规划的题目,这道题目笔者思索了有一个礼拜,最后大道至简,居然用简单的方法就做出来了,以此勉励。题目:给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。nums = [2,2,3,3,3,4]输出:9解释:删除 3 获得 3 个点
2021-05-25 09:32:52
166
1
原创 每日一题:1035. 不相交的线
大家好,今天分享一道LEETCODE题目:1035.不相交的线题目:在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足: nums1[i] == nums2[j] 且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。示例1输入:nums1 = [1,4,
2021-05-25 09:03:33
2638
2
原创 每日一题:剑指 Offer 61. 扑克牌中的顺子
大家好,今天分享一道剑指Offer简单题目:扑克牌中的顺子。题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True思路:这道题目,难点在于0可以看做是任意的数字,该如何处理这个0呢?本题主要思路如下顺子也就是5个数字,假如我们设
2021-05-25 08:39:32
171
原创 每日一题:LC 746. 使用最小花费爬楼梯
大家好,今天分享一道动态规划(Dynamic Programming)的题目:使用最小花费爬楼梯还是一道比较简单的动态规划的题目,下面贴一下代码:这里说一下dp法的优点,也就是记忆化之后,可以处理相对来说复杂很多的数组,比如这个:它包含了1000个数字,如果用暴力递归,笔者使用差不多100长度的时候程序就卡住了,而记忆化搜索则很快给出了答案.841,462,566,398,243,248,238,650,989,576,361,126,334,729,446,897,953,38,195,679,6
2021-05-10 15:59:35
167
原创 每日一题:LC 连续数列
大家好,今天分享一道动态规划(Dynamic Programming)的题目,连续数列给定一个整数数组,找出总和最大的连续数列,并返回总和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。这道题的调用:一个固定变量,两个可变变量,picked表示选过没有的状态,index表示当前的坐标.process(int[] a,int index,boolean picked)如果选过了,那么有几种选择1.选当前
2021-05-10 15:08:56
559
原创 每日一题:剑指 Offer 11. 旋转数组的最小数字(第一次双百!)
大家好,我们一起来看看题目:旋转数组的最小数字这道题就是用二分,特别注意下边界问题:)来纪念下第一次双百的提交:执行用时:0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗:37.6 MB, 在所有 Java 提交中击败了99.96% 的用户 public int minArray(int[] numbers) { if(numbers == null || numbers.length < 1) return 0; if(numbe
2021-05-10 10:38:38
56
原创 每日一题:NowCode 01背包回顾
// 2021/4/28 Old Versionpublic class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算01背包问题的结果 * @param V int整型 背包的体积 * @param n int整型 物品的个数 * @param vw int整型二维数组 第一维度为n,第二维度为2的二维数组,vw[i][0],vw[i][1]分别描述i+1个物品的vi,wi
2021-05-10 09:24:10
123
原创 每日一题:LC 367. 有效的完全平方数
大家好,今天分享一道LC简单题,有效的完全平方数给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt提示:1 <= num <= 2^31 - 1这道题的思路,可以使用binarySearch,左边界是0,关于右边界的定义,则涉及到了这道题目的理解。我们知道 (n / 2) ^ 2 > n -->n > 4;所以当n > 4 时,我们可以直接拿
2021-05-09 16:52:36
168
原创 LC:322零钱兑换
大家好,今天和大家分享一道动态规划的题目,零钱兑换,让我们先看看题目叭给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。这道题目,是一道典型的动态规划题,可以衍生出很多不一样的题目,如使用无限量的硬币组成的给定总金额的方法数是多少,其中有枚举的思想,斜率优化的技巧,总之这道题目代表了动态规划的一个新高度,笔者使用了3个小时,才使用代换法做出,特以此篇记
2021-05-06 17:05:14
109
原创 每日一题:LC238. 除自身以外数组的乘积
大家好,今天分享一道LC-Hot 除自身以外数组的乘积思路简单来说就是,将数组所有的数字相乘,然后依次相除,但是0不能做除数所以 按 0是否出现过,出现了一次,出现了两次,来分情况,以下是代码: public static int[] productExceptSelf(int[] nums) { if(nums == null || nums.length < 1) return null; if(nums.length == 1) return new
2021-05-05 20:47:01
91
原创 每日一题:剑指Offer12矩阵中的路径(我和大神的差距)
大家好,今天我们分享一道剑指Offer的题目:矩阵中的路径。思路这道题目的难点在于:1.如何匹配 2.往下一步走 3.怎么回退,不走入重复的格子对于1.匹配使用 '='字符就可以。对于2.往下一步就是i+/-1,j+/-1对于3.不走入重复的格子,使用了记事本Memo,它是一个String类型的变量,会自动更新已经走过的格子的位置,为此我专门实现了一个同位数的二维数组位置生成器:),每一个数字用’_'隔开。然而,这是用纯暴力的方法写的,笔者硬钢了一个小时才写完。下面我们看一下对比:大神
2021-05-05 17:16:21
75
原创 每日一题:LC198打家劫舍(我和大佬的差距)
大佬的解题思路:https://leetcode-cn.com/problems/house-robber/solution/da-jia-jie-she-dong-tai-gui-hua-jie-gou-hua-si-lu-/简洁的代码 class Solution { public int rob(int[] nums) { int pre = 0, cur = 0, tmp; for(int num : nums) {
2021-05-04 15:38:25
87
原创 每日一题:NowCoder:子数组最大乘积
大家好,今天我们一起来看一下这道动态规划的题目,子数组最大乘积思路这道题目中子数组是连续的,求某一个连续的乘积是最大的。这道题不知道如何使用dp加快速度,因为我选择的状态转移是有点复杂的。他的两个状态:选过/没有选过他的两个状态:往后走/不往后走a往后走 1. 选这个2.不选这个b不往后走 1. 选这个 2 不选这个但是注意b2这个选项,如果不往后走,也不选的话,相当于没有东西,但是我们是要求至少有一个数的 所以b2的情况是可以省略的 共计三种选择 a1,a2,b1,b2(BE CA
2021-05-04 14:48:35
84
原创 每日一题 LC-449: 序列化和反序列化二叉搜索树
大家好,今天分享一道和二叉树有关的题目: 序列化和反序列化基本思路在序列化时,用#来表示null值,每个节点都用"_"分开,ret+=的操作使得对于二叉树的结果有一个保存的作用,相当于一个备忘录。这种String的用法也可以应用在dfs中,使用String来保存,而不是使用List<> 或者 HashMap<> 减小了常数项的空间。同时分享一个String的API: String[] split(“regex”);这个方法可以将一个String类型依据re
2021-05-04 11:02:01
84
原创 每日一题:LC1051高度检查器,暴力+2次优化
大家好,今天分享一道LC简单题,这道题目很有意思,一起来看一下吧题目学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。 注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。输入:heights = [1,1,4,2,1,3]输出:3解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必
2021-05-02 18:11:42
98
原创 每日一题:LC1011. 在 D 天内送达包裹的能力
这里是引用 public static int binary(int[] a,int left,int right){ while (left < right){ int mid = left + (right - left) / 2; if(mid == left) return a[left] == 1 ? left : right; if(a[mid] == 1) right = mid; .
2021-04-27 21:03:06
135
原创 每日一题:牛客——连续子数组的最大和
牛客——连续子数组的最大和今天分享一道动态规划的题目,笔者使用了三种方法,后一种方法是前一种的优化版本,从牛客的测试反馈可以看到有些许的进步。第一种方法:使用了一个全局变量进行最大和的记录。但这种方法的问题在于,在主函数里面对子数组的开始位置使用for循环手动操作了,没有在process()方法里面把事情都做完,不是很优雅的code。并且该方法没有使用备忘录进行Memory随后笔者对此进行优化 //运行时间:12ms 占用内存:9664KB public static int FindGre
2021-04-24 22:24:39
165
1
原创 LeetCode 111. Minimum Depth of Binary Tree 和优化
今天分享一道在牛客网上的题目:111. Minimum Depth of Binary Tree ,也就是树的最小深度解法一:使用一个全局变量进行记录minLevel,但是他的结果看起来不尽如人意实际上,通过全局遍历,然后依次比较叶节点的深度,选出最小的一个depth返回时间复杂度是O(N)的在下面我们进行了优化. public static int minDepth(TreeNode root) { if(root == null) return 0; minL
2021-04-23 20:13:19
66
原创 牛客一题:找到搜索二叉树中两个错误的节点
牛客一题:找到搜索二叉树中两个错误的节点今天分享一道在牛客网上的题目:找到搜索二叉树中两个错误的节点结果,牛客网上面用例测试是通过的,反而显示没通过。以此篇记 这一次的乌龙各位朋友发现哪里有问题欢迎@楼主,互相学习public static int[] findError (TreeNode root) { // write code here return process(root); } public static int[] proces
2021-04-07 17:37:11
226
3
原创 ps -ef | grep 命令详解
ps -ef | grep 命令详解ps - report a snapshot of the current processes.-e Select all processes.-f does full-format listing. This option can be combined with many other UNIX-style options to add additional c...
2020-12-22 11:18:04
833
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人