
算法笔记
文章平均质量分 50
KingOfCinders
这个作者很懒,什么都没留下…
展开
-
Python中忽略输入中的换行符、print()不换行的方法
忽略输入中的换行符、print不换行原创 2023-01-02 10:47:41 · 1514 阅读 · 0 评论 -
牛客NC140 排序——Java堆排序(优先队列实现)
一、题目原题链接描述:给定一个数组,请你编写一个函数,返回该数组排序后的形式。示例1输入:[5,2,3,1,4]返回值:[1,2,3,4,5]示例2输入:[5,1,6,2,5]返回值:[1,2,5,5,6]二、题解思路:堆排序,用优先队列实现。注意点:排序算法很多,O(n^2)的会超时,如冒泡排序。三、代码(Java)public int[] MySort (int[] arr) { // 优先队列 PriorityQueue<原创 2021-06-03 11:46:37 · 284 阅读 · 0 评论 -
LeetCode 108. 将有序数组转换为二叉搜索树 学习笔记(Java)
一、题目原题链接描述:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例1输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例2输入:nums = [1,3]输出:[3,1]解释:[1,3] 和 [3,1原创 2021-05-08 10:17:40 · 175 阅读 · 0 评论 -
LeetCode 7. 整数反转 学习笔记(Java)
一、题目原题链接描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[-231, 231-1],就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例1输入:x = 123输出:321示例2输入:x = -123输出:-321示例3输入:x = 120输出:21示例4输入:x = 0输出:0二、题解思路:1.int转String;2.反转;3.S原创 2021-04-16 17:55:54 · 149 阅读 · 0 评论 -
LeetCode 53. 最大子序和 学习笔记(Java)
一、题目原题链接描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例1输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例2输入:nums = [1]输出:1示例3输入:nums = [0]输出:0示例4输入:nums = [-1]输出:-1示例5输入:nums = [-100000]输出:-100原创 2021-04-16 12:20:01 · 118 阅读 · 0 评论 -
LeetCode 67. 二进制求和 学习笔记(Java)
一、题目原题链接描述:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例1输入: a = “11”, b = “1”输出: “100”示例2输入: a = “1010”, b = “1011”输出: “10101”二、题解思路:1.将a,b反转;2.反转后如果不等长,则在短的末尾补0;3.由于要反转后相加,因此计算规则为【各位相加,向后进位】;4.判断相加后的数最后一位是不是要进位,进位则在最后添加一原创 2021-04-16 10:55:53 · 270 阅读 · 0 评论 -
LeetCode 121. 买卖股票的最佳时机 学习笔记(Java)
一、题目原题链接描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例1输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5原创 2021-04-14 17:52:36 · 113 阅读 · 0 评论 -
LeetCode 92. 反转链表 II 学习笔记(Python)
一、题目原题链接描述:给你单链表的头指针head和两个整数left和right,其中left<= right。请你反转从位置left到位置right的链表节点,返回反转后的链表。示例1输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例2输入:head = [5], left = 1, right = 1输出:[5]二、题解思路:首先这是个要求翻转链表中的一部分的题目,前几天做过一个翻转整个链表的题(之后发个贴原创 2021-03-20 16:37:14 · 621 阅读 · 0 评论