Morisummer.. 2022-07-26 19:08 采纳率: 85.2%
浏览 54
已结题

有趣的跳跃一维数组问题

img

img


我的代码以及题目如上,十个标准答案,我对了八个,还有两个是错的,帮忙看一下哪里出问题了?

  • 写回答

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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月27日
  • 已采纳回答 7月26日
  • 创建了问题 7月26日

悬赏问题

  • ¥15 制裁名单20240508芯片厂商
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致