摘要: 总结二分查找相关的知识及解题应用 最简单基础的二分搜索可以如下实现: public static int binarySearch(int[] a,int key) { int i = 0, j = a.length - 1; while (i <= j) { int m = (i + j) >>> 阅读全文
posted @ 2023-04-03 09:29 ggaoda 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 二分查找 题目详情 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 阅读全文
posted @ 2023-04-03 09:28 ggaoda 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 二分查找 题目详情 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例2: 输入: 阅读全文
posted @ 2023-04-03 09:25 ggaoda 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 零矩阵 题目详情 编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。 示例1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示例2: 输入: [ [0,1,2,0], [3,4,5,2], 阅读全文
posted @ 2022-12-28 17:02 ggaoda 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 哈希表 哈希表,又称散列表,使用 O(n) 空间复杂度存储数据,通过哈希函数映射位置,从而实现近似 O(1) 时间复杂度的插入、查找、删除等操作。 C++ 中的哈希集合为 unordered_set,可以查找元素是否在集合中。如果需要同时存储键和值,则需要用 unordered_map,可以用来统计 阅读全文
posted @ 2022-09-07 10:15 ggaoda 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 哈希表 哈希表,又称散列表,使用 O(n) 空间复杂度存储数据,通过哈希函数映射位置,从而实现近似 O(1) 时间复杂度的插入、查找、删除等操作。 C++ 中的哈希集合为 unordered_set,可以查找元素是否在集合中。如果需要同时存储键和值,则需要用 unordered_map,可以用来统计 阅读全文
posted @ 2022-09-07 09:23 ggaoda 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 哈希表 哈希表,又称散列表,使用 O(n) 空间复杂度存储数据,通过哈希函数映射位置,从而实现近似 O(1) 时间复杂度的插入、查找、删除等操作。 C++ 中的哈希集合为 unordered_set,可以查找元素是否在集合中。如果需要同时存储键和值,则需要用 unordered_map,可以用来统计 阅读全文
posted @ 2022-09-05 09:22 ggaoda 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 双端队列 题目详情 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出: 阅读全文
posted @ 2022-09-05 08:58 ggaoda 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目详情 简单的概括一下题目:给定建筑物的起止位置和高度,返回建筑物轮廓(天际线)的拐点。 示例1: 输入:buildings = [[2,9,10],[3,7,15],[5,12,12],[15,20,10],[19,24,8]] 输出:[[2,10],[3,15],[7,12],[12,0],[ 阅读全文
posted @ 2022-08-09 14:51 ggaoda 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 优先队列 题目详情 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3-> 阅读全文
posted @ 2022-08-08 18:18 ggaoda 阅读(7) 评论(0) 推荐(0) 编辑