public static int helper(int n,int[] nums){ int[] left = new int[n]; int[] right = new int[n]; int[] t = Arrays.copyOf(nums,n); int ans = 0; for (int i = 1; i < n; i++){ if (nums[i - 1] + 1 > nums[i]){ left[i] = nums[i - 1] + 1 - nums[i]; nums[i] = nums[i - 1] + 1; } } for (int i = n - 2; i >= 0; i--){ if (t[i + 1] + 1 > t[i]){ right[i] = t[i + 1] + 1 - t[i]; t[i] = t[i + 1] + 1; } } for (int i = 0; i < n; i++) ans += Math.min(left[i],right[i]); return ans; } 太长了发不出来,输入输出自己处理,第二题这样我感觉可以,我想到的用例都试了
点赞 评论

相关推荐

01-05 09:14
同济大学 Java
心碎一号线:我要是9✌🏻我就选保研,保研了大四再找实习,实习之后,如果觉得自己不适合互联网工作模式,还能有其他选择,如果实习后决定了走互联网,也能提升学历提高竞争力
点赞 评论 收藏
分享
狸猫换offer:神通广大的互联网
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务