草庐IT

刷题题单

全部标签

洛谷题单 Part 6.7.1 矩阵

应队友要求,开始学线性代数,具体路线是矩阵→\rightarrow→高斯消元→\rightarrow→线性基。为多项式做个准备P3390【模板】矩阵快速幂题面板子,用结构体写的,感觉有点丑,一会儿看看题解有没有写得好看的#includeusingnamespacestd;typedeflonglongll;constintN=110;constllmod=1e9+7;structnode{lla[N][N];intlen;}sqr;voidsqr0(node&x){memset(x.a,0,sizeofx.a);x.len=sqr.len;}voidsqr1(node&x){memset(x.

leetcode刷题(6)

各位朋友们大家好,今天是我的leetcode刷题系列的第六篇。这篇文章将与队列方面的知识相关,因为这些知识用C语言实现较为复杂,所以我们就只使用Java来实现。文章目录设计循环队列题目要求用例输入提示做题思路代码实现用栈实现队列题目要求用例输入提示做题思路代码实现用队列实现栈题目要求用例输入做题思路代码实现设计循环队列leetcode之设计循环队列(难度:简单)题目要求设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,

leetcode刷题(6)

各位朋友们大家好,今天是我的leetcode刷题系列的第六篇。这篇文章将与队列方面的知识相关,因为这些知识用C语言实现较为复杂,所以我们就只使用Java来实现。文章目录设计循环队列题目要求用例输入提示做题思路代码实现用栈实现队列题目要求用例输入提示做题思路代码实现用队列实现栈题目要求用例输入做题思路代码实现设计循环队列leetcode之设计循环队列(难度:简单)题目要求设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,

算法刷题Day 24 回溯算法理论基础+组合

Day24回溯算法理论基础回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等回溯算法模板框架如下:voidbacktracking(参数){if(终止条件){存放结果;return;}for(选择:本层集合中元素(树中节点孩子的数量就是集合的大小)){处理节点;backtracking(路径,选择列表);//递归回溯,撤销处理结果}}组合classSolution{vectorvectorint>>

【力扣刷题 | 第十六题】

目录前言:198.打家劫舍-力扣(LeetCode)213.打家劫舍II-力扣(LeetCode) 总结:前言:我们今天继续刷动态规划的题,希望大家可以和我一起坚持下去。198.打家劫舍-力扣(LeetCode)你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。 解题思路:我们要先快速确定出这道题的解题方向,我们读题后发现:当前房间偷不偷,取决于它前一个房间有

数据结构刷题训练——链表篇(三)

目录文章目录前言1.题目一:环形链表Ⅱ1.1思路1.2分析1.3题解1.4 方法二2.题目二:复制带随机指针的链表2.1思路2.2分析2.3题解总结前言    在这个专栏博客中,我们将提供丰富的题目资源和解题思路,帮助读者逐步提高解题能力。同时,我们也将分享一些刷题技巧和经验,帮助读者更加高效地进行刷题训练。通过持之以恒的努力和不断的实践,相信读者可以在数据结构领域取得长足的进步。本期将是数据结构刷题训练链表篇的最后一期,后续我们将进入栈和堆的刷题训练。1.题目一:环形链表Ⅱ题目描述:示例: 题目链接:环形链表Ⅱ1.1思路    本题的题意是:给定一个链表,返回链表开始入环的第一个节点。 如果

【算法】刷题路线(系统+全面)

本系列基于当前各大公司对大公司的考察情况,给大家规划一条可行的算法刷题路线,大概会规划200道自认为有用的题,并且争取让初学者,能够刷起来更加丝滑,而且每个阶段都会进行相对应的说明。当然,无论是面试还是笔试,你也完全可以按照这个路线来,应付大公司算法面试是够的了算法学习的四个阶段在刷题之前,我们先来说一下大致的规划,这部分主要说一个算法大致的学习路径,当然,我说的不是针对要打ACM的选手哦,大家可以参考一下算法的学习,总的来说算法最重要的还是刷题,没有很多的奇技淫巧。为了让大家更好对号入座,从0基础小白到上战场,我觉得算法的学习可以分成四个阶段。后面的算法题,也会安排这种阶段来给大家安排。阶段

数据结构刷题训练——链表篇(一)

目录前言题目一:链表的中间节点思路分析题解 题目二:链表中倒数第k个结点思路分析 题解题目三:合并两个有序链表思路分析题解 方法二题解 题目四:链表的回文结构思路分析题解总结前言    今天我将开启一个新的专栏,数据结构与算法刷题训练营,题目从基础简单题目开始逐步进阶,以便于初学者巩固和运用所学的知识。题目一:链表的中间节点 题目描述: 示例与提示: 题目链接链表的中间节点https://leetcode.cn/problems/middle-of-the-linked-list/description/ 思路        题目中的链表属于单链表,我们要怎么计算中间节点呢?先遍历一遍链表统计

【数据结构刷题】数组oj

前言: 本文章是关于在力扣上面的数组相关面试题的讲解,包括: 1.原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1), 2.删除排序数组中的重复项。 3.合并两个有序数组。一.原地移除数组中所有的元素val题目:https://leetcode.cn/problems/remove-element/1.1时间复杂度为O(N^2),空间复杂度为O(1)写一段原地移除数组中所有的元素val,要求时间复杂度为O(N^2),空间复杂度为O(1)的代码实现:思路:遇到这个val后面的元素往前面覆盖。intremoveElement(int*nums,intnumsSize,i

算法刷题Day 30 重新安排行程+N皇后+解数独

Day30回溯算法332.重新安排行程想了很久,最后还是放弃了这道题目有几个难点:一个行程中,如果航班处理不好容易变成一个圈,成为死循环有多种解法,字母序靠前排在前面,让很多同学望而退步,如何该记录映射关系呢?使用回溯法(也可以说深搜)的话,那么终止条件是什么呢?搜索的过程中,如何遍历一个机场所对应的所有机场这一题的解法也非常考验对数据结构的运用classSolution{unordered_mapstring,mapstring,int>>table;boolbacktracking(intticketNum,vectorstring>&path){if(path.size()>ticket