题解 | 小红的好数组

小红的好数组

https://www.nowcoder.com/practice/b8c3a24867c246f7a04da28e5da646ee

//  #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432
//  因为这个题我的思路是:记录上一个值和连续递增的值的个数,如果达到3个就把第三个值变成上一个值减一,为了让他最大化这样不容易与下一个形成递增
//  代码我用了很多三目运算符来代替if来节约性能(最近遇到了,就想试试)降低了可读性,其它题解应该是正常写的
#include <iostream>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0);
  	int n, last, x, count = 1;//-------记录总数, 上一个, 当前, 连续递增
	cin >> n;
	cin >> last;
	//cout << gg(de(count));
	int ans = 0;
	for (int i = 1; i < n; i++) {
		cin >> x;
#ifdef dede//-------这个是bug用的,这里不会编译
		cout << strde << de(x) << endl;
#endif // dede

		count += (x >= last);//----------如果x>=last,count++;
#ifdef dede
		cout << strde << de(count) << endl;
#endif
		ans += (count == 3 ? 1 : 0);//---------count达到3个,ans++
		count = (count == 3 || x < last ? 1 : count);//-----维护count
		last = (x >= last && count == 1 ? x - 1 : x);//-----更新last
#ifdef dede
		cout << strde << endl << strde << de(ans) << kkk << de(count) << kkk << de(last) << endl;
#endif
	}
	cout << ans;
}
// 64 位输出请用 printf("%lld")

#写题解领奖励##牛客春招刷题训练营#
全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
07-18 15:02
门头沟学院 Java
刚打开网申页面就不想填了,还是不要为难自己了
poppinzhan...:多益老行业毒瘤了,碰到徐波这种恶心的烂人,去了也是受罪。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务