我的代码以及题目如上,十个标准答案,我对了八个,还有两个是错的,帮忙看一下哪里出问题了?
1条回答 默认 最新
- 快乐鹦鹉 2022-07-26 19:17关注
程序有点复杂,根本不需要做排序
假设有四个元素,那么相邻值之差就是3个元素,且值分别是1,2,3(顺序不一定)
那么你只需要定义一个数组a[3],初始值为0,在计算相邻值之差的循环时,将差值减去1作为下标,如果a数组中该下标对应值已经是1,则直接返回不是跳跃数组,如果是0,则将对应值设置为1。如果循环能够正常结束,则输出是跳跃数组就可以啦int main() { int num = 0; int a[3000] = {0}; int b[3000] = {0}; cin>>num; for(int i=0;i<num;i++) cin>>a[i]; for(int i=0;i<num-1;i++) { int k = abs(a[i+1]-a[i]); if(k<3000) { if(b[k] == 0) b[k] = 1; else if(b[k] == 1) { cout<<"Not jolly"; return 0; } } else { cout<<"Not jolly"; return 0; } } cout<<"jolly"; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 制裁名单20240508芯片厂商
- ¥20 易康econgnition精度验证
- ¥15 msix packaging tool打包问题
- ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致