恭喜发现宝藏!微信搜索公众号【TechGuide】关注更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 点赞再看,养成习惯,您动动手指对原创作者意义非凡🤝
文章目录
第一道:叠积木(100%)
题目:
- 第一道:叠积木(100%)
- 题目:
- 参考代码:
- 第二道: 加密字符串(100%)
- 题目
- 代码
- 第三道:往仓库放货物的最大数量(100%)
- 题目
- 代码
给出一个列表如[[6,7,],[5,4],[3,2]],表示木块的长和宽,当木块的长和宽不大于另个木块的长和宽时,就可以放在上面,此外数组还可以左右翻转。(与leetcode354:俄罗斯套娃相似,不过添加了翻转,增加了难度)。当长宽都大于等于上一个积木时才可以搭到上一个积木上,此外数组还可以左右翻转。求最多能搭多少层。
输入:
[[5,4], [6,3], [6,7], [6,6], [4,6]]
输出:
4
参考代码:#include
using namespace std;
int main()
{
string s;
getline(cin, s);
vector nums;
while(s.size()>2)
{
int pos = s.find(']');
string temp = s.substr(2, pos-2);
s = s.substr(pos+2);
pos = temp.find(',');
int a = stoi(temp.substr(0, pos));
temp = temp.substr(pos+1);
int b = stoi(temp);
if(ab[1];
else return a[0] >b[0];
};
sort(nums.begin(), nums.end(), cmp);
//动态规划求最长的递减子序列
//关注TechGuide!大厂笔经面经闪电速递!
int count = 1;
vector dp(nums.size(), 1);//切记dp[i]表示[0,i]范围内包含nums[i]的最长递减子序列。注意该最长子序列并不一定是[0,i]范围内的最长递减子序列
for(int i=1; i=0; j--)
{
if(nums[i][1]
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?