1class Solution {2public int sumOfBeauties(int[] nums) {3boolean[] left = new boolean[nums.length];4boolean[] right = new boolean[nums.length];56left[0] = true;7int leftMax = nums[0];8for (int i = 1; i < nums.length; i++) {9if (nums[i] > leftMax) {10left[i] = true;11leftMax = nums[i];12}13}1415right[nums.length - 1] = true;16int rightMin = nums[nums.length - 1];17for (int i = nums.length - 2; i >= 0; i--) {18if (nums[i] < rightMin) {19right[i] = true;20rightMin = nums[i];21}22}2324int beautyCount = 0;25for (int i = 1; i < nums.length - 1; i++) {26if (left[i] && right[i]) {27beautyCount += 2;28} else if (nums[i - 1] < nums[i] && nums[i] < nums[i + 1]) {29beautyCount += 1;30}31}32return beautyCount;33}34}