草庐IT

牛客刷题

全部标签

LeetCode刷题(数组):详解两数之和与合并两个有序数组

1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例一:示例二:示例三:1.思路一(暴力求解)直接暴力求解,采用二重循环,依次遍历数组中的两个元素,查看当前的两个元素之和是否等于目标元素target的值,如果等于,就把当前遍历的索引i,j分别放入目标数组中返回即可!classSolution{publicint[]twoSum(int[]nums,inttarget){int[]list=newi

牛客网Python入门103题练习|(04--列表(1))

⭐NP16 发送offer描述某公司在面试结束后,创建了一个依次包含字符串'Allen'和'Tom'的列表offer_list,作为通过面试的名单。请你依次对列表中的名字发送类似'Allen,youhavepassedourinterviewandwillsoonbecomeamemberofourcompany.'的句子。但由于Tom有了其他的选择,没有确认这个offer,HR选择了正好能够确认这个offer的Andy,所以请把列表offer_list中'Tom'的名字换成'Andy',再依次发送类似'Andy,welcometojoinus!'的句子。输入描述:无输出描述:按题目描述进行输

数据结构刷题训练:设计循环队列(力扣OJ)

目录文章目录前言1.题目:设计循环队列2.思路3.分析 3.1定义循环队列 3.2创建队列 3.3判空和判满 3.4入队 3.5出队 3.6取队头队尾数据 3.7销毁队列 4.题解总结前言        当谈到队列数据结构时,很多人可能会想到普通的队列,即先进先出(FIFO)的数据结构。然而,有时候我们需要一种更高效的队列实现方式,这就是循环队列。1.题目:设计循环队列 题目描述: 题目链接:设计循环队列https://leetcode.cn/problems/design-circular-queue/2.思路        先来理解一下题意,首先队列的长度为定长k,其次就是队列可以循环利用

C语言暑假刷题冲刺篇——day3

目录一、选择题二、编程题🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练✨其他专栏:代码小游戏C语言初阶🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗【前言】在大家学完初阶C语言后,有很多知识点是比较模糊的,我们应该多刷题,这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷,每一篇都包含5道选择题,2道编程题,每一道题后面都会有详细的解析。这个系列每日一更,大家来看看吧! 一、选择题1、已知函数的原型是:intfun(charb[10],int*a);,设定义:charc[10];intd;,正确的调

华为OD机试 - 异常的打卡记录 | 备考思路,刷题要点,答疑 【新解法】

最近更新的博客【新解法】华为OD机试-关联子串|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-停车场最大距离|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-任务调度|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-英文输入法|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-流水线|备考思路,刷题要点,答疑,odBase提供使用说明参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。

(牛客网)链表相加(二)

 嗯哼~题目描述假设链表中每一个节点的值都在0-9 之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。数据范围:0≤n,m≤1000000,链表任意值 0≤val≤9要求:空间复杂度 O(n),时间复杂度 O(n)示例 思路  单链表的翻转详细讲解:反转一个单链表( 题解代码structListNode*ReverseList(structListNode*pHead){//writecodeherestructListNode*cur=pHead;structListNode*pre=NULL;while(cur!=NULL){structListN

C语言暑假刷题冲刺篇——day5

目录一、选择题二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练✨相关专栏:代码小游戏、C语言初阶、C语言进阶🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗【前言】在大家学完初阶C语言后,有很多知识点是比较模糊的,我们应该多刷题,这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷,每一篇都包含5道选择题,2道编程题,每一道题后面都会有详细的解析。这个系列每日一更,大家来看看吧! 一、选择题1、如下程序的功能是() #includeintmain(){ charch[80]="123abcdE

【算法刷题之数组篇(2)】

目录1.leetcode-35.搜索插入位置(简单)2.leetcode-74.搜索二维矩阵(中等)3.leetcode-73.矩阵置零(中等)4.leetcode-56.合并区间(中等)5.leetcode-54.螺旋矩阵(中等)6.leetcode-1.两数之和(简单)1.leetcode-35.搜索插入位置(简单)(1)题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。(2)方法及思路(二分查找)考虑这个插入的位置pos,它成立的条件为:nums[pos−1]问题转化

Leetcode刷题笔记——单调性

单调性单调性是数学中使用的一种常见性质,通常用于描述函数,在高等数学中的定义常常为:设函数f(x)在区间I上有定义,如果对于I上的任意两个数x1和x2,当x1f(x2)),则称函数f(x)在区间I上是单调递增的(或者单调递减的)。例如如下图像就是两个单调函数。利用单调性我们可以减少很多重复的运算。例如,对于如下函数,我们给定其定义域为[0,+∞),现在要求查找出在其定义域内所有f(x)即y大于0.5的区间。如果不借助单调性,我们需要采用遍历的方法,依次遍历定义域中的所有点x,判断其f(x)是否满足条件(大于0.5)。如果借助单调性,我们知道上述函数是严格单调递增的,其图像如下:绿线表示y=0.

牛客·矩阵取数游戏

矩阵取数游戏这里我们推一下这个题的精髓:dp[i][j]=max(int(b[c][i])+dp[i+1][j],dp[i][j-1]+int(b[c][j]))dp[i][j]=2*dp[i][j]假定某一行有两个数x,y;那么我们有两种选择:先拿x,再拿y:x*2+y*4;先拿y,再拿x:y*2+x*4;定义di为第i次取数,第一次取数记为d1,第二次d2……那么上面的情况可以这样表示:2*d1+4*d2;提一个2出来:2*(d1+2*d2)发现了没,式子里只有2!推广得到,一行有n个数:n=3:2*(d1+2*(d2+2*d3))n=4:2*(d1+2*(d2+2*(d3+2*d4))n