草庐IT

刷题题单

全部标签

卷进大厂系列之LeetCode刷题笔记:长度最小的子数组(中等)

学算法,刷力扣,加油卷,进大厂!题目描述力扣题目链接给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其和≥target的长度最小的连续子数组[numsl,numsl+1,…,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例1:输入:target=7,nums=[2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。示例2:输入:target=4,nums=[1,4,4]输出:1示例3:输入:target=11,nums=[1,1,1,1,1,1,1,1]输出:0提示:1target1091nums.leng

C语言百日刷题第十天

前言今天是刷题第10天,放弃不难,但坚持一定很酷~快来跟我一起刷题吧。C语言百日刷题第十天前言81.连接两个字符串82.输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。83.写一个排序函数实现数组从小到大的排序84.字母的大小写转换85.找乒乓球队名单81.连接两个字符串输入两个字符串strl和st2,对输入的字符串进行长度比较,然后将小的连接在大的字符串后面,最后输出连接好的新串并计算新串的长度。题目分析:本题有两种解法,第一种是直接使用C语言里面的库函数,第二种是自己模拟对应的库函数。方法一:使用库函数#include#includeintmain(){intlen;cha

刷题笔记(栈和队列篇)(跑路人笔记)

文章目录前言用栈实现队列大致思路正确代码函数功能及注意点讲解用队列实现栈大致思路队列的代码正确代码函数思想讲解和注意事项结尾前言进入栈和队列之后必须马上开始我的练习.下面是两个力扣的简单题目.分别是用栈实现队列和用队列实现栈这两道题倒是都不难,但是对于刚刚进入栈和队列学习的朋友还是有些意思和锻炼的😎.总的来说,值得一搞.防止有人忘记了:栈:后来的先出.队列:像排队一样先来先出.用栈实现队列栈实现队列大致思路通过两个栈来实现队列的功能函数实现,如顺序输入:12345我们栈是54321顺序出队列是12345顺序出我们可以用两个栈将12345的输入12345输出比如一个栈存储12345,我们把这些数

数据结构:力扣刷题

题一:旋转数组给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 思路一:创建reverse()函数传入三个值分别为数组地址,从第几个数组元素开始,结束元素位置;在reverse()函数中实现颠倒,swap()函数实现交换。先将数组分为两部分0--(k-1)和k--(sz-1),然后分别旋转;//交换位置voidswap(int*a,int*b){intt=*a;*a=*b,*b=t;}//实现颠倒voidreverse(int*nums,intstart,intend){while(start思路二:如图:voidrotate(int*nums,intnum

数据结构:力扣刷题

题一:删除有序数组中的重复项 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 。思路一:暴力求解,直接定义一个int类型取不到的数,让这个数去判断与其他的数是否相同,相同不理会,不相同赋值到【left

链表刷题常用技巧——快慢指针

强大,不动如山的强大,不会输给自己的真正的强大。 往期回顾:数据结构——单链表单链表力扣刷题文章目录经典例题:链表的中间结点题目分析及双指针思路引入 双指针图解leetcode核心代码判断环形链表——快慢指针延伸为追及问题题目分析,图解leetcode核心代码 大家好,我是纪宁。 数据结构链表部分的面试、笔试大多都是在单链表部分,且大多题都是没有哨兵位的头结点,题目相数组通常比较难。这篇文章就给大家介绍一个单链表这里做题的常用技巧——快慢指针。 所谓快慢指针,就是有两个指针来维护单链表,通常定义为slow和fast,这两个指针遍历链表的速度不同。经典例题:链表的中间结点 给你单链表的头结点 h

数据结构刷题训练:队列实现栈

目录前言1.题目:使用队列实现栈2.思路3.分析 3.1创建栈3.2入栈3.3出栈3.4栈顶数据3.5判空和“栈”的销毁 4.题解总结前言        我们已经学习了栈和队列,也都实现了它们各自的底层接口,那么接下我们就要开始栈和队列的专项刷题训练。1.题目:使用队列实现栈题目描述: 题目链接:队列实现栈https://leetcode.cn/problems/implement-stack-using-queues/ 2.思路        队列的结构是先进先出,题目的要求是,让我们利用队列的底层接口来实现栈,不可以改变队列的底层逻辑,所以如果你的思路是逆置队列这个链表,那这个思路就被pa

[C语言刷题篇]链表运用讲解

目录NC25 删除有序链表中重复的元素-I描述方法一:遍历删除(推荐使用)方法二:递归求解反转链表描述解法:迭代给大家推荐一款神器牛客网以下题型及方法牛客都有,及企业面试高频题 NC25 删除有序链表中重复的元素-I描述删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表为1→1→2,返回1→2.给出的链表为1→1→2→3→3,返回1→2→3.数据范围:链表长度满足0≤n≤100,链表中任意节点的值满足val∣≤100进阶:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n) 我们可以在题目得到这样的信息:给定一个从小到大排好序的链表删去链表

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(6)

目录写在前面:题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:输出格式:输入样例:输出样例:解题思路:代码:AC!!!!!!!!!!写在最后:写在前面:怎么样才能学好一个算法?我个人认为,系统性的刷题尤为重要,所以,为了学好深度优先搜索,为了用好暴搜应对蓝桥杯,事不宜迟,我们即刻开始刷题!题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:第一行两个正整数 W 和 H,分别表示小路的宽度和长度。以下 H 行为一个 H×W 的字符矩阵。每一个字符代表一块瓷砖。其中,. 代表安全的砖,# 代表不安全的砖,@

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(6)

目录写在前面:题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:输出格式:输入样例:输出样例:解题思路:代码:AC!!!!!!!!!!写在最后:写在前面:怎么样才能学好一个算法?我个人认为,系统性的刷题尤为重要,所以,为了学好深度优先搜索,为了用好暴搜应对蓝桥杯,事不宜迟,我们即刻开始刷题!题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:第一行两个正整数 W 和 H,分别表示小路的宽度和长度。以下 H 行为一个 H×W 的字符矩阵。每一个字符代表一块瓷砖。其中,. 代表安全的砖,# 代表不安全的砖,@