- 博客(32)
- 收藏
- 关注
原创 7.6 爬楼梯、合并区间、买卖股票的最佳时机 II
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].输出:[[1,6],[8,10],[15,18]]
2023-07-06 22:43:14 232
原创 7.5 环形链表、二叉树中序遍历、二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。输入: nums = [-1,0,3,5,9,12], target = 9。输入: nums = [-1,0,3,5,9,12], target = 2。输入:head = [3,2,0,-4], pos = 1。输入:head = [1,2], pos = 0。输入:root = [1,null,2,3]输出:[1,3,2]
2023-07-06 22:18:11 206
原创 7.4 有效的括号、买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。
2023-07-06 22:03:26 199
原创 7.3 二叉树的层序遍历、搜索旋转排序数组
在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。输入:nums = [4,5,6,7,0,1,2], target = 0。输入:root = [1]
2023-07-06 21:52:23 151
原创 7.2 最大子数组和、合并两个有序链表、两数之和
解释:因为 nums[0] + nums[1] ==9 ,返回 [0, 1]。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输入:nums = [2,7,11,15], target = 9。解释:连续子数组 [4,-1,2,1]的和最大,为 6。输入:l1 = [1,2,4], l2 = [1,3,4]输入:nums = [3,2,4], target = 6。输入:nums = [5,4,-1,7,8]输入:l1 = [], l2 = [0]输出:[1,1,2,3,4,4]
2023-07-02 23:24:44 72
原创 关于快排的优化问题
这种类型的写法,与上面是相似的,都是最终指针会相遇到一个位置而不是交错开来,更方便对排序的位置进行获取,同时这种写法也无需在意哨兵主元的选取和指针移动的顺序,但是,该写法在后续优化过程中并不适合。接下来,关于快排的优化,众所周知,快排在解决两种情况的时候会很乏力,一种是基本有序,另一种是基本一致,基于这两种情况,对快排的代码进行优化改进(可以直接记下来当做模板)这里的代码与上一篇的均有所不同,但又有一些的微小的差异,相比较而言,这种风格形式的代码,在选取哨兵主元后,移动指针的顺序是固定的,否则出现错误。
2023-07-02 20:34:54 77
原创 7.1 数组中第K个最大元素、 K个一组翻转链表、三数之和
关于快排,在循环结束条件的设置上有两种方式,一种为两个指针相遇即(i == j)为结束状态,此情况下,可以将双指针的移动收敛约束到一个位置,方便类似二分查找、快排定位等类似的定位功能上,也方便灵活处理更多的情况,相比之下,另一种交错结束状态,即(i < j),此种结束状态通常用于无需定位查找,只需要排序或者其他类似操作的情况,当然,此情况也可以用于定位,但是对于究竟使用 i 还是 j 的位置需要根据实际情况判断,因此,个人相对来说更喜欢相遇的结束状态。输入: [3,2,1,5,6,4], k = 2。
2023-07-01 20:56:53 53
原创 6.30 无重复字符最长子串、反转链表、LRU缓存机制
给定一个字符串s,请你找出其中不含有重复字符的的长度。输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。输入: s = "pwwkew"输出: 3。
2023-06-30 22:16:12 139
原创 P1255 数楼梯(每日一题——递归、高精度)
????P1255 数楼梯????题解这道题很直观的是一道递归问题,第n个台阶的方式总数等于第n-1个台阶方式数加第n-2个台阶方式总数,但是,从题干的数据量来看,我们需要使用高精度的加法(当然了,直接用python写也是很香的)???? AC 代码:#include<iostream>using namespace std;int n,f[5010][5010],len;void add(int k){ for(int i=1; i<=len; i++)
2022-01-16 19:46:23 886
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人