草庐IT

刷题题单

全部标签

蓝桥杯·3月份刷题集训Day07

本篇博客旨在记录自已打卡蓝桥杯3月份刷题集训,同时会有自己的思路及代码解答希望可以给小伙伴一些帮助。本人也是算法小白,水平有限,如果文章中有什么错误之处,希望小伙伴们可以在评论区指出来,共勉💪。文章目录集训AA1、约数个数A2、质数拆分集训BB1、路径之谜B2、分考场集训CC1、修改数组C2、通电最后集训AA1、约数个数题目:本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。1200000有多少个约数(只计算正约数)。运行限制:最大运行时间:1s最大运行内存:128M解题代码:importjava.util.Scanner;//1:无需package//2:类名必须Mai

Leetcodes刷题之删除链表的倒数N个结点和删除链表的中间的结点

吾心信其可行,则移山填海之难,终有成功之日。              --孙中山目录🍉一.删除链表的倒数N个结点🌻1.双指针🍁2.求链表的长度🌸二.删除链表的中间的结点🍉一.删除链表的倒数N个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]做题链接🌻1.双指针这题我们同样使用双指针的方法,我们先定义一个fast指针和slow指针,它们都指向head。第一步:先判断fast为不为空,不为空,n就

【刷题笔记4】

动态规划题目汇总斐波那契数列:1,1,2,3,5,8,13……递归一把解决三类问题:1.数据定义是按照递归的(斐波那契数列)。2.问题解法是按递归算法实现的。3.数据形式是按照递归形式定义的。递归的一般形式:voidrec(形参列表){ if(test)return;//边界条件//!!!注意!!!递归一定要有边界条件!!!否则就会死循环!!!rec(实参列表)//递归调用语句序列2//递归返回段(回溯)}有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。例:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假如兔子都

【OJ】牛客链表刷题

题目1.链表分割1.1题目分析1.2代码2.链表的回文结构2.1题目分析2.2代码这里两道与链表有关的题目均来自牛客。1.链表分割1.1题目分析因为这里代码不能选择用c语言写,所以选择用c++,因为c++兼容c。题目要求分割链表,我们可以直接弄成两个带哨兵位的链表,这样插入时就不用判断链表里面有没有节点。head1=tail1=(ListNode*)malloc(sizeof(ListNode));head2=tail2=(ListNode*)malloc(sizeof(ListNode));一个链表放小于x的节点,直接用尾插就能实现,if(cur->valx){tail1->next=cur

【刷题】 leetcode 2 .两数相加

两数相加两数相加1思路一(暴毙版)2思路二(本质出发)谢谢阅读Thanks♪(・ω・)ノ下一篇文章见!!!!!!两数相加我们来看看题目,,,,往往困难的题只需要简单的叙述。好像只用找到两个数,整合成一个链表就可以。应该1思路一(暴毙版)首先我最快想到思路是分别根据两个链表求出对应数然后加一起,得到和再把和拆分储存到链表里为此我们需要手撕一下链表头插。typedefstructListNodeSLTNode;SLTNode*buynode(intn){ //开辟空间SLTNode*node=(SLTNode*)malloc(sizeof(SLTNode));node->next=NULL;nod

蓝桥杯第20天(Python)(疯狂刷题第3天)

题型:1.思维题/杂题:数学公式,分析题意,找规律2.BFS/DFS:广搜(递归实现),深搜(deque实现)3.简单数论:模,素数(只需要判断到 int(sqrt(n))+1),gcd,lcm,快速幂(位运算移位操作),大数分解(分解为质数的乘积)4.简单图论:最短路(一对多(Dijstra,临接表,矩阵实现),多对多(Floyd,矩阵实现)),最小生成树(并查集实现)5.简单字符串处理:最好转为列表操作6.DP:线性DP,最长公共子序列,0/1背包问题,最长连续字符串,最大递增子串7.基本算法:二分,贪心,组合,排列,前缀和,差分8.基本数据结构:队列,集合,字典,字符串,列表,栈,树9.

力扣刷题篇之《空白替换》

前言❤️铁汁们大家好,欢迎大家来到出小月的博客里,今天小月呢写了一道题目叫替换空格,但是呢,写完之后调试了半天不知道哪里错了,经过小月的坚持不懈,终于成功,来分享给大家小月的错误,希望大家看完我这篇文章都能够“涨芝士”,感觉小月写的还不错的话,记得👍🏻点赞加关注😘鼓励一下博主哦,不然下次可找不到我啦❗❗作者简介❤️作者的主页:出小月的《程序员历险记》❤️专栏:《C语言》,《数据结构初阶》😊希望大家都能够:好好学习,天天编程❗❗❗文章目录前言作者简介一、题目介绍二、题目链接三、小月的思路四、小月出现的错误错误1错误2五、正确代码总结一、题目介绍🐻请实现一个函数,把字符串s中的每个空格替换成"%2

【刷题】leetcode 1 . 两数之和

两数之和两数之和1思路一(简单突破)2思路二(进行优化)3思路三(哈希表我还不会)谢谢阅读Thanks♪(・ω・)ノ下一篇文章见!!!两数之和题目链接1思路一(简单突破)最简单的思想:遍历从头开始逐个遍历。首先选定加数1然后寻找加数2,如果两者之和满足条件target。返回相应下标即可!int*twoSum(int*nums,intn,inttarget,int*returnSize){for(inti=0;in;i++){//加数1从头开始for(intj=i+1;jn;j++){//加数2从加数1后一位开始if(nums[i]+nums[j]==target){//满足条件即可返回对应下标

《动态规划》刷题训练

打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。题目解析动态规划问题的特点:问题可以被划分为若干重叠子问题子问题可以通过已知的子问题求解,且子问题可以重复利用需要一个数据结构来存储子问题的解,以便在使用时取出为什么这题能够使用动态规划?重叠子问题:设总共有nnn家房屋,原问题则为有nnn家房屋时所能偷窃到的最大金额。该问题能够划分为成若干重叠子问题:

力扣刷题-二叉树-合并二叉树

617.合并二叉树(经典)合并二叉树是操作两棵树的题目里面很经典的,如何对两棵树遍历以及处理?给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL的节点将直接作为新二叉树的节点。示例1:注意:合并必须从两个树的根节点开始。思路参考:https://programmercarl.com/0617.%E5%90%88%E5%B9%B6%E4%BA%8C%E5%8F%89%E6%A0%91.html如何同时遍历两个二叉树呢?其实和遍历一个树逻辑是一