第三题: public static int findUniqSquare(int[] nums) { int l = 0; int r = nums.length - 1; int cnt = 0; while (l <= r) { int left = nums[l] * nums[l]; int right = nums[r] * nums[r]; if (left == right) { cnt ++; while (++l <= r && nums[l] == nums[l - 1]); while (--r >= l && nums[r] == nums[r + 1]); } else { if (left < right) { cnt ++; while (--r > l && nums[r] == nums[r + 1]); } else { cnt ++; while (++l < r && nums[l] == nums[l - 1]); } } } return cnt; }

相关推荐

头像
不愿透露姓名的神秘牛友
05-14 00:38
已编辑
思特奇 Java 13.5*13 本科211
点赞 评论 收藏
分享
牛客网
牛客企业服务