刷题6:热题100
class Solution { public int[] productExceptSelf(int[] nums) { int[] dpleft = new int[nums.length]; int[] dpright = new int[nums.length]; int[] answer = new int[nums.length]; dpleft[0] = 1; dpright[nums...
【C++刷题】优选算法——双指针
移动零 void moveZeroes(vector<int>& nums){ size_t front = 0; size_t back = 0; while(back < nums.size() && nums[back] != 0) { ++back; } front = back++; while(back < nums.size()) { if(0 == nums[back]) { ++...
备战蓝桥杯之并查集刷题之删除
题目比较模板,但是也扩展了许多以前不知道的知识点,记录一下比较有启发性的题。 目录 1.并查集之删除操作---创点转移: 2.并查集之删除操作---逆向思考: 1.并查集之删除操作---创点转移: 1和3都是并查集的基础操作,这里就不说了(以前讲过),我们主要看2,我们把2的操作拆分成先去除p,再合并p,那么我们如何删除呢? 我们可以真的去删,但是我们需要修改子节点的连接,会增加时间复杂度并且比较麻烦...
【算法沉淀】刷题笔记:并查集 带权并查集+实战讲解
当谈论并查集时,我们可以继续使用上述的动物园比喻来解释它的概念。 我们可以把并查集看作是一个动物园管理系统,帮助你管理动物们的归属关系。 在这个动物园中,每个动物都有一个独特的编号,代表一个独立的元素。一开始,每个动物都是独立的,没有与其他动物建立关系。 初始化(Init()函数)就像是给每个动物分配一个编号和一个独立的笼子。这样,它们就有了一个起始的归属地。 查找函数(Find()函数)就像是动物...
leetcode刷题(javaScript)——链表相关场景题总结
206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : ...
Leetcode刷题小tips
链表 总结1 只是对节点进行查询的,而不需要用到某一个节点的上一个节点,则不需要设置头指针,直接将头节点设置为cur,然后进行遍历即可! 若需要增删,则必然用到某个节点的上个节点,则需要设置头指针,目的是使头节点的处理方式与其他节点相同! C++语法基础 数组 定义一个n*n的二维数组 vector<vector<int>> res(n, vector<int>(n, 0)); // 使用vect...
竞赛练一练 第24期:NOC大赛每日一练,scratch题目刷题第3天,包含答案解析
023年NOC大赛创客智慧编程赛项图形化复赛模拟题一,包含答案解析 本次题目来源:NOC 大赛创客智慧编程赛项图形化复赛模拟题(一) 第一题: 制作一个生日贺卡小程序. 1.点击绿旗后蛋糕出现在 (0,-80) 的位置,大小为 100,造型为 cake-b2.当碰到鼠标指针时,将造型切换为 cake-a 3.每当按下空格键蛋糕大小都会增加 10 4.当蛋糕被点击时说出“生日快乐” 编辑 答案解析: 编...
代码随想录刷题题Day26
刷题的第二十六天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C++ Day26 任务 ● 动态规划理论基础 ● 斐波那契数 ● 爬楼梯 ● 使用最小花费爬楼梯 1 动态规划理论基础 对于动态规划问题,拆解为五个步骤: (1)确定dp数组以及下标的含义 (2)确定递推公式 (3)dp数组如何初始化 (4)遍历顺序 (5)举例推导dp数组 2 斐波那契数 斐波那契数 思路: C++: cla...
代码随想录刷题题Day27
刷题的第二十七天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C++ Day27 任务 ● 62.不同路径 ● 63. 不同路径 II 1 不同路径 62.不同路径 思路: 机器人从(0 , 0) 位置出发,到(m - 1, n - 1)终点 (1)确定dp数组以及下标的含义 (2)确定递推公式 d p [ i ] [ j ] = d p [ i − 1 ] [ j ] + d p [ i...
代码随想录刷题题Day24
刷题的第二十四天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C++ Day24 任务 ● 491.递增子序列 ● 46.全排列 ● 47.全排列 II 1 递增子序列 491.递增子序列 思路: 本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了,不能使用之前的去重逻辑 (1)递归函数参数 求子序列,很明显一个元素不能重复使用,所以需要startIndex,调整下一...