偶然在网上看到的编程题,感觉挺有意思的。但是没有在网上找到对应的题目和解析,所以没法测试算法的正确性,下面写一下思路,供大家参考,如果有纰漏之处还望指出。

关于不曾下降过的序列递增应该由如下方式组成:

【以a结尾的非严格递增序列】 * 1

【等于a的子序列】 * (t-2)

【不小于a的非严格递增序列】 * 1 可以用反证法证明上述情况成立。

具体解法如下:

#include

#include

#include

#include

using namespace std;

int forwardFun(vector &v, int num) //大于等于num的递增子序列长度

{

vector res;

for(int n : v)

{

if(n >= num)

{

if(res.empty())

res.push_back(n);

else

{

if(n >= res[res.size()-1])

res.push_back(n);

else

{

for(int i = 0; i < res.size() ; i++)

if(v[i] > n)

{

v[i] = n;

break;

}

}

}

}

}

return res.size();

}

int backFun(vector v, int num) // 以num结尾的非严格递增序列

{

reverse(v.begin(), v.end());

vector res;

for(int i = 0 ; i < v.size(); i++)

{

if(v[i] == num)

{

if(res.empty())

res.push_back(v[i]);

else

{

if(res[res.size()-1] != num)

for(int i = 0 ; i < res.size() ; i++)

{

if(res[i] < num)

{

res[i] = num;

break;

}

}

else

{

res.push_back(v[i]);

}

}

}

else if(v[i] < num)

{

if(res.empty())

continue;

if(v[i] <= res[res.size()-1])

{

res.push_back(v[i]);

}

else

for(int j = 0 ; j < res.size() ;j++)

{

if(res[i] < v[i])

{

res[i] = num;

break;

}

}

}

}

return res.size();

}

int main()

{

int n,t;

cin >> n >> t;

vector v(n),dp(n);

for(int i = 0 ; i < n;i++)

cin >> v[i];

unordered_map map,sameNum;

for(int i = n-1 ; i >= 0 ; i--)

{

if(map.count(v[i]) == 1)

{

sameNum[v[i]] += 1;

continue;

}

sameNum[v[i]] = 1;

int num = backFun(v, v[i]);

map[v[i]] = num;

}

int ans = 0;

for(auto it = map.begin(); it != map.end(); it++)

{

int num = it->second, tmp_res = 0;

int count = sameNum[it->first];

tmp_res = num + count * (t-2);

tmp_res += forwardFun(v, it->first);

an***ax(ans, tmp_res);

}

cout << ans << endl;

return 0;

}

空气质量等级c语言编程,字节跳动2018秋招编程题——空气质量相关推荐

  1. 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案

    2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...

  2. 2018深信服java笔试题,深信服2018秋招编程题

    深信服2018秋招编程题 深信服2018秋招编程题 第一题: 其中,reverse函数的代码实现如下: 1. unsigned int reverse(unsigned int num) { unsi ...

  3. 京东2018秋招编程题

    C++开发工程师 京东 2018秋招编程题 (代码后续更新...) 1.神奇数 将一个数n的各数位分成两部分,两部分之和相等,则称这个数为神奇数.比如242分成[2,2].[4].输入一个范围[l, ...

  4. 滴滴2018秋招编程题

    滴滴 2018秋招 编程题 1.寻找丑数 丑数的定义是,只包含因子2.3和5的数称作丑数.比如6和8是丑数,14不是丑数,因为含有因子7.输入一个整数n,输出第n个丑数.我们认为第一个丑数是1. 解析 ...

  5. 字节跳动2019春招算法题

    字节跳动2019春招算法题 1.总结 难度:容易到中等. 一些题出的太烂,不给数据范围,而且内存设置有问题,如果是刷题不建议刷. 2.题目 (1) 简单字符串模拟. #include<bits/ ...

  6. 字节跳动-2020秋招-笔试题剖析【5道算法题】

    字节跳动-2020秋招-笔试题剖析[5道算法题],限时120分钟. 让我们一起来看看这些题吧! 题一:模型文件去重 [题目描述] 抖音上不同的用户类型我们有不同的用户模型文件. 我们有一个模型配置文件 ...

  7. 今日头条2018秋招编程题

    今日头条 2018秋招 Android方向 编程题 1.手串 作为一个手串艺人,有金主向你订购了一条包含n个杂色串珠的手串–每个串珠要么无色,要么涂了若干种颜色.为了使手串的色彩看起来不那么单调,金主 ...

  8. 【字节跳动】秋招/实习转正,总有一种方法适合你

    秋招太难?实习转正也能加入字节跳动! 公司介绍: 成长环境: 秋招: ⚠️内推码:EJSDRMT 工作地点: 薪资福利: 招聘职位: 投递邮箱: 公司介绍: 字节跳动是全球增长最快的科技公司之一,月活 ...

  9. 字节跳动2020秋招研发笔试题

    字节跳动秋招研发笔试题 最近在忙考研,高数复习完了,看了下数据结构和算法,然后对人生比较迷茫. 该不该放弃考研,又怕考不上面临找工作的问题,索性看了几家科技巨头的秋招试题,贴下来和大家分享下 基本都是 ...

  10. JS第二次授课及字节跳动2017秋招前端工程师笔试试卷涉及知识点

    JS第二次授课 一.转义字符和字符串 1.在字符串中使用转义字符输入Unicode编码.语法:\u+四位编码. 2.在网页中使用Unicode编码:语法:&#编码:(注:这里的编码要使用十进制 ...

最新文章

  1. 为什么绩效管理如此重要?有哪些数字化绩效管理工具?
  2. [算法练习]Two Sum
  3. bootstrap3 商品列表_Bootstrap3基础 list-inline 无序列表横向显示
  4. 恒生证券期货行业用户维稳工作指引(一)
  5. dart系列之:手写Library,Library编写实践
  6. 点击area不出现黑框_30款厨房门,黑框?白框?你家选哪个合适?
  7. C++中如何定义动态数组
  8. ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager
  9. Kudu : 三种Fulsh Mode
  10. [转] 多线程 《深入浅出 Java Concurrency》目录
  11. fractal 分形维数 盒子维 纹理特征
  12. 性能分析工具Systrace的使用详解
  13. 基于I2C协议的AHT20温湿度传感器的数据采集及OLED屏显示
  14. 团队组成五个基本要素_团队构成的五大要素
  15. 网页制作html+css+javascript
  16. 第五章:量化研究专题(第四篇:统计套利:利用相关系数进行配对交易 )
  17. 通用技术金工工艺高考必考必看的知识点含攻丝与套丝讲解
  18. 北京的电竞学校的要求有哪些?
  19. Linux命令之ln -s命令(软链接)
  20. Cloud Hosted Notebook Showdown(云托管笔记本)

热门文章

  1. 因式分解理论基础(1)一元多项式
  2. oracle数据库统计信息的重要性
  3. Python3中使用flask_sqlalchemy的问题
  4. 一份完整的数据分析师成长书单
  5. 【计算机组成原理】CPU是什么
  6. c语言oct,【讨论】OCT扫描中的C-scan你知道吗????????
  7. webpack3:html-webpack-plugin 实现自动修改引入文件名
  8. java_232_GOF23设计模式_建造者模式详解_练习
  9. 美国卡尔顿学院计算机专业怎么样,美国顶尖学院卡尔顿学院
  10. 初创公司几个投资人,各占多少股份合适