草庐IT

LeetCode刷题之树

全部标签

刷题笔记[HUBUCTF 2022 新生赛]web

开学后可能就不怎么刷题了,因为课巨多😅,可能分享其他东西,虽然寒假也没做多少。不管了反正以后不走ctf这条路。[HUBUCTF2022新生赛]题目checkinHowToGetShellCalculateezsqlcheckin知识:true和不是0、false、null的值弱比较,结果都为true。所以只要password和username不是那几个值,他们和true比较就都是true,so传个序列化的数组进去a:2:{s:8:“username”;b:1;s:8:“password”;b:1;}布尔值是1就是true。HowToGetShell无字母RCE,用不是字母的字符异或后构造pay

LeetCode2560. House Robber IV——二分答案+动态规划

文章目录一、题目二、题解一、题目Thereareseveralconsecutivehousesalongastreet,eachofwhichhassomemoneyinside.Thereisalsoarobber,whowantstostealmoneyfromthehomes,butherefusestostealfromadjacenthomes.Thecapabilityoftherobberisthemaximumamountofmoneyhestealsfromonehouseofallthehousesherobbed.Youaregivenanintegerarraynum

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习一(leetcode真题剖析)

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习一01.全排列02.子集03.找出所有子集的异或总和再求和04.全排列II05.电话号码的字母组合01.全排列题目链接:https://leetcode.cn/problems/permutations/给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums=[0,1]输出:[[0,1],[1,0]]示例3:输入:nums=[1]输出:[[1]]提示:1

小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】

1025除数游戏小艾和小鲍轮流玩游戏,小艾首先开始。最初,黑板上有一个数字n。在每个玩家的回合中,该玩家做出的动作包括:选择任意x,使0将黑板上的数字n替换为n-x。此外,如果玩家无法采取行动,他们就会输掉比赛。当且仅当小艾赢得游戏时返回true,假设两个玩家都发挥最佳。例子在大学某个自习的下午,小白坐在教室看到这道题。想想现年景一过,没有什么理由再不学习了。真是若对黄花孤负酒,怕黄花,也笑人岑寂。这时候黑长直女神过来问:小白,你看到1025这道题了吗,怎么感觉看着很简单,但是理解起来很麻烦啊,这道题你有什么思路呢?小白内心镇定:这机会不就来了吗,小美,《一起摇太阳》有机会一起去看看吧?哦,不

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;}}双指针法根据示例,对于数组存在负数的情况,平方的非递减排序可能

【每日刷题】动态规划-代码随想录动规-11、12、13

1.代码随想录-动规11.背包理论基础问题背景:有若干个物品对应各自的体积和价值,有一个容量确定的背包,有选择的将物品装进背包里,求可放进背包的最大价值。思路:定义dp数组:dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。dp[i][j]递推公式:不放物品i或放不下物品i:即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]就是dp[i-1][j]。(其实就是当物品i的重量大于背包j的重量时,物品i无法放进背包中,所以背包内的价值依然和前面相同。)放物品i即放得下物品i:由dp[i-1][j-weight[i]]推出,dp[i-1][

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

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

【HDLBits 刷题 6】Circuits(2)Sequential Logic---Latches and Filp Flops

目录 写在前面LatchesandFilpFlopsDffDff8Dff8rDff8pDff8arDff16eDLatchDFF1DFF2DFFgateMuxandDFF1MuxandDFF2DFFsandgatescreatcircuitEdgedetectEdgedetect2EdgecaptureDualedge总结 写在前面本篇博客对Circuits 部分的组合逻辑前两节做答案和部分解析,一些比较简单的题目就直接给出答案,有些难度再稍作讲解,每道题的答案不一定唯一,可以有多种解决方案,欢迎共同讨论。LatchesandFilpFlopsDff创建单个D触发器moduletop_modu

算法沉淀——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,第一个相遇的点就是大家逃生的最短路径。多点到达目标问题:在一些网络传播或者路由问题中,多个点需要同时到达某