草庐IT

leetcode题解

全部标签

Leetcode_Master Day2

day2977.有序数组的平方题目链接:977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序题解思路暴力法平方完再排序,时间复杂度为O(nlogn)classSolution{publicint[]sortedSquares(int[]nums){int[]ans=newint[nums.length];for(inti=0;inums.length;++i){ans[i]=nums[i]*nums[i];}Arrays.sort(ans);returnans;}}双指针法根据示例,对于数组存在负数的情况,平方的非递减排序可能

山海经(线段树)题解

原题链接:COGS775题目描述:“南山之首曰鹊山。其首曰招摇之山,临于西海之上,多桂,多金玉。有草焉,其状如韭而青华,其名曰祝余,食之不饥……又东三百里,曰堂庭之山,多棪木,多白猿,多水玉,多黄金。又东三百八十里,曰猨翼之山,其中多怪兽,水多怪鱼,多白玉,多蝮虫,多怪蛇,名怪木,不可以上。……”(其实就是一堆废话)《山海经》是以山为纲,以海为线记载古代的河流、植物、动物及矿产等情况,而且每一条记录路线都不会有重复的山出现。某天,你的地理老师想重游《山海经》中的路线,为了简化问题,老师已经把每座山用一个整数表示他对该山的喜恶程度,他想知道第a座山到第b座山的中间某段路(i,j)能使他感到最满意

【独家】华为OD机试提供C语言题解 - 最多等和不相交连续子序列

最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理已参加机试人员的实战技巧使用说明参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。华为OD清单查看地址:https://blog.csdn.net/hihell/category_12225286.html华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730最多等和不相交连续子序

LeetCode:102. 二叉树的层序遍历

🍎道阻且长,行则将至。🍓🌻算法,不如说它是一种思考方式🍀算法专栏:👉🏻123可以参考👉LeetCode:二叉树的前、中、后序遍历——如何创建一棵【二叉树】一、🌱102.二叉树的层序遍历题目描述:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。来源:力扣(LeetCode)难度:中等提示:树中节点数目在范围[0,2000]内-1000示例🌴解题1.递归法也就是使用先序遍历,根据对每一层的深度来考虑增加集合元素,原理是很简单的,判断好递归何时结束即可。code:classSolution{publicListListInteger>>levelOrder(T

2019 第十届蓝桥杯省赛A组题解

本次试题难度(对专业算法竞赛选手来说)不大,但是考验基本的编程基本功和数学思维。估计完成80%即可获得省一进入决赛(根据一些公开的反馈,如果有准确数据请告诉我),因此更多的是需要细心。至于C/C++还是Java我觉得不重要,因为题目除了顺序有点不同,内容是一样的。而且核心在于算法。答案:2658417853送分题。两重循环,大循环从1到2019,小循环一依次剥离每一位(一直%10后整除10),进行判断,然后求和。本题作为送分题,非常贴心加了一句最下面的一段话,差点就等同于“你给我用上longlong啊”。如果不提示这句话,而且结果还是正的,不知道有多少选手会掉进陷阱。代码:#include#i

算法沉淀——BFS 解决最短路问题(leetcode真题剖析)

算法沉淀——BFS解决最短路问题(leetcode真题剖析)01.迷宫中离入口最近的出口02.最小基因变化03.单词接龙04.为高尔夫比赛砍树BFS(广度优先搜索)是解决最短路径问题的一种常见算法。在这种情况下,我们通常使用BFS来查找从一个起始点到目标点的最短路径。具体步骤如下:初始化:从起始点开始,将其放入队列中,并标记为已访问。BFS遍历:不断从队列中取出顶点,然后探索与该顶点相邻且未被访问的顶点。对于每个相邻顶点,将其标记为已访问,并将其加入队列。这样,每一轮BFS都会探索到当前距离起始点的步数更多的顶点。重复步骤2:重复这个过程,直到找到目标点或者队列为空。路径重建(可选):如果需要

算法沉淀——多源 BFS(leetcode真题剖析)

算法沉淀——多源BFS(leetcode真题剖析)01.矩阵02.飞地的数量03.地图中的最高点04.地图分析多源BFS是指从多个源点同时进行广度优先搜索的算法。在传统的BFS中,我们通常从一个起始点开始,逐层遍历所有的相邻节点。而在多源BFS中,我们可以同时从多个源点开始,从这些源点出发,逐层向外扩展,直到达到目标或者遍历完整个图。多源BFS可以用于解决一些问题,例如:多个人同时逃生:在一个迷宫中,有多个人同时被困在不同的位置,需要找到最短路径逃离迷宫。可以从这些人的位置同时开始BFS,第一个相遇的点就是大家逃生的最短路径。多点到达目标问题:在一些网络传播或者路由问题中,多个点需要同时到达某

LeetCode --- 2027. Minimum Moves to Convert String 解题报告12

https://h5.weishi.qq.com/weishi/feed/7OLnHCrBU1Rx4Avoshttps://m.weishi.qq.com/vise/share/index.html?id=7OLnHCrBU1Rx4Avoshttps://m.weishi.qq.com/vise/share/index.html?id=7OLnHCrBU1Rx4Avos&js=oszhttps://h5.weishi.qq.com/weishi/feed/7OLnHyfsP1Rx4AsKMhttps://m.weishi.qq.com/vise/share/index.html?id=7OLn

力扣(LeetCode)数据结构练习题(3)------链表

今天又是刷题的一天,今天给又给大家分享两道题目,两题相较昨天的两题还是挺有思考意义的,虽然对大佬来说还是简单的,但对于我们这种新手小白还是挺有练习价值的,小白可以跟我一起来看看哟。目录将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环

leetcode—跳跃游戏—贪心算法

1跳跃游戏1给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。示例 1:输入:nums=[2,3,1,1,4]输出:true解释:可以先跳1步,从下标0到达下标1,然后再从下标1跳3步到达最后一个下标。示例 2:输入:nums=[3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为3的位置。但该下标的最大跳跃长度是0,所以永远不可能到达最后一个下标。方法:贪心算法对于每一个可以到达的位置x,他使得x+1,x+2,...,x+num