03 2022 档案

摘要:二分查找 题目详情 给定两个大小分别为 m和 n的正序(从小到大)数组 nums1 和nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为O(log (m+n))。 示例1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 阅读全文
posted @ 2022-03-31 17:07 ggaoda 阅读(4) 评论(0) 推荐(0) 编辑
摘要:二分查找 题目详情 **给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1)空间复杂度。 示例1: 输入: nums = [1,1,2,3,3,4,4,8,8] 输出 阅读全文
posted @ 2022-03-30 10:27 ggaoda 阅读(7) 评论(0) 推荐(0) 编辑
摘要:二分查找 题目详情 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4] 若旋转 7 次,则可以得到 [0,1,4,4,5 阅读全文
posted @ 2022-03-29 16:03 ggaoda 阅读(4) 评论(0) 推荐(0) 编辑
摘要:二分查找 题目详情 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k <nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums 阅读全文
posted @ 2022-03-29 15:32 ggaoda 阅读(6) 评论(0) 推荐(0) 编辑
摘要:贪心算法 题目详情 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3 阅读全文
posted @ 2022-03-28 17:19 ggaoda 阅读(8) 评论(0) 推荐(0) 编辑
摘要:二分查找 题目详情 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。 示例1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 阅读全文
posted @ 2022-03-27 19:38 ggaoda 阅读(3) 评论(0) 推荐(0) 编辑
摘要:二分查找 题目详情 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例1: 输入:x = 4 输出:2 示例2: 输入: 阅读全文
posted @ 2022-03-27 16:23 ggaoda 阅读(38) 评论(0) 推荐(0) 编辑
摘要:双指针法 题目详情 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例1: 输入:nu 阅读全文
posted @ 2022-03-27 15:32 ggaoda 阅读(6) 评论(0) 推荐(0) 编辑
摘要:双指针法 题目详情 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。 示例1: 输入:s = "abpcpl 阅读全文
posted @ 2022-03-26 17:13 ggaoda 阅读(12) 评论(0) 推荐(0) 编辑
摘要:双指针法 题目详情 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例1: 输入: s = "aba" 输出: true 示例2: 输入: s = "abca" 输出: true 解释: 你可以删除c字符。 示例3: 输入: s = "abc" 输出: false 我的初始错 阅读全文
posted @ 2022-03-26 16:27 ggaoda 阅读(11) 评论(0) 推荐(0) 编辑
摘要:双指针法 题目详情 给定一个非负整数c ,你要判断是否存在两个整数 a和 b,使得 a2 + b2 = c 。 示例1: 输入:c = 5 输出:true 解释:1 * 1 + 2 * 2 = 5 示例2: 输入:c = 3 输出:false 我的代码: class Solution { publi 阅读全文
posted @ 2022-03-26 15:17 ggaoda 阅读(2) 评论(0) 推荐(0) 编辑
摘要:双指针法之滑动窗口法 题目详情 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果 s 中存在这样的子串,我们保 阅读全文
posted @ 2022-03-25 20:04 ggaoda 阅读(8) 评论(0) 推荐(0) 编辑
摘要:双指针法-快慢指针法Floyd 题目详情 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表 阅读全文
posted @ 2022-03-25 16:31 ggaoda 阅读(5) 评论(0) 推荐(0) 编辑
摘要:双指针法 题目详情 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存 阅读全文
posted @ 2022-03-25 15:51 ggaoda 阅读(9) 评论(0) 推荐(0) 编辑
摘要:双指针法 题目详情 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < inde 阅读全文
posted @ 2022-03-24 19:25 ggaoda 阅读(13) 评论(0) 推荐(0) 编辑
摘要:贪心算法 数列修改满足要求问题 题目详情 给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1 阅读全文
posted @ 2022-03-23 19:27 ggaoda 阅读(8) 评论(0) 推荐(0) 编辑
摘要:贪心算法 队列双条件排序问题 题目详情 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 阅读全文
posted @ 2022-03-23 16:05 ggaoda 阅读(7) 评论(0) 推荐(0) 编辑
摘要:贪心算法 买卖股票问题 题目详情 给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。 在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例1: 输入: pri 阅读全文
posted @ 2022-03-22 22:25 ggaoda 阅读(3) 评论(0) 推荐(0) 编辑
摘要:贪心算法 划分字母区间 题目详情 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 示例: 输入:S = "ababcbacadefegdehijhklij" 输出:[9,7,8] 解释: 划分结果为 "aba 阅读全文
posted @ 2022-03-22 17:06 ggaoda 阅读(6) 评论(0) 推荐(0) 编辑
摘要:贪心算法 变相区间问题 和leetcode-435解法相同,但有细微差别 题目详情 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 阅读全文
posted @ 2022-03-20 17:59 ggaoda 阅读(24) 评论(0) 推荐(0) 编辑
摘要:贪心算法 种花问题 题目详情 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和1组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规 阅读全文
posted @ 2022-03-20 17:07 ggaoda 阅读(25) 评论(0) 推荐(0) 编辑
摘要:贪心算法 区间问题 题目详情 给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例1: 输入: intervals = [[1,2],[2,3],[3,4],[1,3]] 输出: 1 阅读全文
posted @ 2022-03-20 16:01 ggaoda 阅读(7) 评论(0) 推荐(0) 编辑
摘要:贪心算法 分配问题 题目详情 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 示例1: 阅读全文
posted @ 2022-03-18 16:34 ggaoda 阅读(13) 评论(0) 推荐(0) 编辑
摘要:贪心算法 分配问题 题目详情 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干. 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 阅读全文
posted @ 2022-03-18 15:49 ggaoda 阅读(32) 评论(0) 推荐(0) 编辑
摘要:郑州轻工业大学2021-2022(2)数据结构习题集 6-4 递增的整数序列链表的插入 (15 分) 题目详情 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 函数接口定义: List Insert( List L, ElementType X ); 阅读全文
posted @ 2022-03-11 20:35 ggaoda 阅读(57) 评论(0) 推荐(0) 编辑
摘要:郑州轻工业大学2021-2022(2)数据结构习题集 6-3 顺序表操作集 (20 分) 题目 本题要求实现顺序表的操作集。 函数接口定义: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, 阅读全文
posted @ 2022-03-01 17:36 ggaoda 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示