classSolution{ // thirdMax方法接收一个整数数组nums作为参数,返回数组中第三大的数 publicintthirdMax(int[] nums){ // 初始化三个变量a、b、c来分别存储最大的、第二大的和第三大的数 // 使用Long.MIN_VALUE以便处理整数数组中所有可能的值 long a = Long.MIN_VALUE, b = Long.MIN_VALUE, c = Long.MIN_VALUE; // 遍历数组中的每个元素 for (long num : nums) { // 如果当前元素大于a,则更新a、b、c的值 if (num > a) { c = b; b = a; a = num; // 如果当前元素介于a和b之间,则更新b、c的值 } elseif (a > num && num > b) { c = b; b = num; // 如果当前元素介于b和c之间,则更新c的值 } elseif (b > num && num > c) { c = num; } } // 如果c仍然是Long.MIN_VALUE,说明不存在第三大的数,返回a(最大的数) // 否则,返回c(第三大的数) return c == Long.MIN_VALUE ? (int) a : (int) c; } }