🛒本文收录于专栏:【牛客网刷题记录】📢专栏目的是对于刷题过程的记录,题型的列举和讲解,会持续输出,欢迎免费订阅!!这是牛客网刷题记录专栏第一篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统、题库、课程教育、社群交流、招聘内推于一体的优质网站,牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人员的喜爱牛客网干净整洁的界面,人性化的布局,高质量的题库题解,丰富的大厂面试题,让我想把它分享给大家,推荐大家来牛客网刷题,链接我就放在这了有需要自取👉点击开始刷题小Tips:注册完之后,不用填信息直接点X,开启刷题之旅~目录C语言入门🔥1.复制部分字符串👌描述👌代码👌题解🔥2.牛牛的
目录1.最长回文子串题目:代码:2.N字形变换题目:代码:3.整数翻转题目:代码:4.字符串转换整数题目代码:5.回文数题目:1.最长回文子串题目:给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s=“babad”输出:“bab”解释:“aba”同样是符合题意的答案。示例2:输入:s=“cbbd”输出:“bb”动态规划的特性:后续的计算可以使用之前的计算结果空间换时间本题回文串本身就具有动态规划的特性代码:stringlongestPalindrome(strings){intn=s.size(); //单个字符直接返回(特殊
目录1.最长回文子串题目:代码:2.N字形变换题目:代码:3.整数翻转题目:代码:4.字符串转换整数题目代码:5.回文数题目:1.最长回文子串题目:给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s=“babad”输出:“bab”解释:“aba”同样是符合题意的答案。示例2:输入:s=“cbbd”输出:“bb”动态规划的特性:后续的计算可以使用之前的计算结果空间换时间本题回文串本身就具有动态规划的特性代码:stringlongestPalindrome(strings){intn=s.size(); //单个字符直接返回(特殊
此题乍一看是普通背包,但由于物品价值不是固定的,而是随时间(重量)而改变。因此,采取不同顺序选取一组相同物品可能产生不同价值。这种问题属于泛化背包问题,要想解决,就需要固定顺序,然后使用背包。其实找到顺序并不难,只要根据贪心策略中的相邻项交换法即可得出,若要求x在y前面,就要求c[x]b[y]b[x]还要注意:由于物品价值可以为负数,故不能简单地将dp[T]当成最终答案因此可以如下实现:structThing{ llonga,b,c; inlinebooloperator=a[i].c;j--){ dp[j]=max(dp[j],dp[j-a[i].c]+(a[i].a-j*a[i].b));
此题乍一看是普通背包,但由于物品价值不是固定的,而是随时间(重量)而改变。因此,采取不同顺序选取一组相同物品可能产生不同价值。这种问题属于泛化背包问题,要想解决,就需要固定顺序,然后使用背包。其实找到顺序并不难,只要根据贪心策略中的相邻项交换法即可得出,若要求x在y前面,就要求c[x]b[y]b[x]还要注意:由于物品价值可以为负数,故不能简单地将dp[T]当成最终答案因此可以如下实现:structThing{ llonga,b,c; inlinebooloperator=a[i].c;j--){ dp[j]=max(dp[j],dp[j-a[i].c]+(a[i].a-j*a[i].b));
A:带宽:计算200Mbps=?MB/s。常识题,答案200/8=25先打一个素数表,然后遍历即可。答案1903boolcheck(intn):while(m>0){ inti=m%10; if(i!=2&&i!=3&&i!=5&&i!=7) return0; m/=10;}return1;intmain():intn=20210605,res=0;intk=init(n);for(inti=0;i暴力即可。可以写一个简单的日期类。答案977boolcheck(Dated){strings=d.toString();intx=0;for(charc:s)x+=c-'0';inty=(int)
A:带宽:计算200Mbps=?MB/s。常识题,答案200/8=25先打一个素数表,然后遍历即可。答案1903boolcheck(intn):while(m>0){ inti=m%10; if(i!=2&&i!=3&&i!=5&&i!=7) return0; m/=10;}return1;intmain():intn=20210605,res=0;intk=init(n);for(inti=0;i暴力即可。可以写一个简单的日期类。答案977boolcheck(Dated){strings=d.toString();intx=0;for(charc:s)x+=c-'0';inty=(int)
题目链接可以很容易地想出暴力思路,但复杂度高达O(n2),所以必须优化思路1:不难发现在a数组到i,b数组到j处,在它们前面的有i*j个,这i*j个数不可能比它大,所以只要在暴力枚举过程中判断i*j最后只要对和排序,求出前n个。注意存放和的数组不能只有n个。vectorsum;for(inti=1;i){for(intj=1;i*j){sum.push_back(a[i]+b[j]);}}sort(sum.begin(),sum.end());printf("%u",sum[0]);for(inti=1;i){printf("%u",sum[i]);}思路2:暴力枚举的解法里,除了全部n2个弄
题目链接可以很容易地想出暴力思路,但复杂度高达O(n2),所以必须优化思路1:不难发现在a数组到i,b数组到j处,在它们前面的有i*j个,这i*j个数不可能比它大,所以只要在暴力枚举过程中判断i*j最后只要对和排序,求出前n个。注意存放和的数组不能只有n个。vectorsum;for(inti=1;i){for(intj=1;i*j){sum.push_back(a[i]+b[j]);}}sort(sum.begin(),sum.end());printf("%u",sum[0]);for(inti=1;i){printf("%u",sum[i]);}思路2:暴力枚举的解法里,除了全部n2个弄
第一面,视频面试问的基础的比较多,因为还涉及到音视频的开发,所以音视频方面的知识点也问了一些常见的属性修饰符有哪些,使用copy应该注意些什么深拷贝和浅拷贝区别atomic真的安全么,加的锁是哪种锁iOS中内存管理是怎么样的自动释放池原理,本质常见的内存泄漏有哪些block出现循环引用的原因线程和runloop之间的关系是怎么样的GCD中串行并行队列,同步异步的区别有遇到过死锁么,怎么产生的runtime查找方法的过程runtime是怎么实现weak置nil的关联对象是线程安全的么isKindOf和isMemberOf区别iOSClass结构load和initialize区别说一下kvo实现的