首页 > 其他分享 >leetcode笔记——323周赛

leetcode笔记——323周赛

时间:2022-12-28 22:23:46浏览次数:73  
标签:周赛 优先 队列 复杂度 LeetCode 323 query leetcode

这道题我选用BFS+优先队列来做,(并查集太难了不打算掌握了)。。。

优先队列和普通队列的差别就在于:存到队列中的位置与存的顺序不一定一致,而是由根据存储的权重确定

比如存的权重是[ 2, 3, 1 ],最终的优先队列是[ 1, 2, 3 ]。python里面heappush是最小堆

在本题中的作用就是能够从小到大对query中的数字查询,之后更大的数字可以利用前面小的信息,降低复杂度

因为用优先队列存入每个点的信息,所以直接判断这个队列第一个的权值,如果大于query[ i ],那么后面的节点就不用考虑了

这题看数据知道是一个O(n) or O(nlogn)的算法,注意判断set()中是否存在某个数,复杂度是O(1)...

所以可以直接暴力

标签:周赛,优先,队列,复杂度,LeetCode,323,query,leetcode
From: https://www.cnblogs.com/sun-secretbase/p/17011397.html

相关文章

  • 二分查找(leetcode easy 704)、移除元素(leetcode easy 27)
    二分查找题目链接:https://leetcode.cn/problems/binary-search/思路:暴力法:直接遍历一边数组查找元素.此方法适用于任何数组查找.(时间复杂度O(n)、空间复杂度O(......
  • 刷刷刷Day1| LeetCode704. 二分查找,27. 移除元素
    704.二分查找LeetCode题目要求给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。......
  • LeetCode_Heap_剑指 Offer 40. 最小的k个数 【堆,泛型实现,自定义比较器】【C++/java】
    目录​​一,题目描述​​​​英文描述​​​​中文描述​​​​示例与说明​​​​二,解题思路​​​​1,手动实现堆——C++泛型实现​​​​2,手动实现堆——java泛型实现​​......
  • [leetcode]第 8 天 动态规划(简单)
    I.斐波那契数列思路使用到了动态规划,最核心的思想,就在于拆分子问题,记住过往,减少重复计算。classSolution{publicintfib(intn){inta=0,b=1,......
  • 【leetcode】3: 无重复字串的最长子串(python)
    给定一个字符串s,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3......
  • LeetCode 33:搜索旋转排序数组
    LeetCode33:搜索旋转排序数组题目整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使......
  • Leetcode 199
    199.BinaryTreeRightSideViewGiventherootofabinarytree,imagineyourselfstandingontherightsideofit,returnthevaluesofthenodesyoucansee......
  • [leetcode]第 7 天 搜索与回溯算法(简单)
    26.树的子结构思路不知道。。看大佬的题解流程:先判断B是不是以A节点为根节点的一个子树如果不是,判断B是否是A左右子树的一个子结构isSubTree(Ta,Tb)判断Tb是否是......
  • leetcode-27 移除元素
    27.移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原......
  • #yyds干货盘点# LeetCode程序员面试金典:求和路径
    题目:给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量。注意,路径不一定非得从二叉树的根节点或......