思路和解释都没问题的,代码跑不动是因为有一种情况没考虑到:[1,3,8,6,5,2,5],最后最大值跟原先最大值一样大,但因为没有考虑导致输出的是[1,3,5]而不是[1,2,5],解决办法,考虑最大值等于情况,for循环判断条件中加入:else if(arr[i] == temp[tempIndex]){ nums[i] = tempIndex + 1; temp[tempIndex] = arr[i]; }
点赞

相关推荐

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