Oferta LeetCode Sword Pointer 56 - II Número de apariciones de números en la matriz II (implementación de Java)

Oferta de puntos de espada 56 - II. El número de veces que aparece el número en la matriz II

En una matriz de números, excepto un número que aparece solo una vez, todos los demás números aparecen tres veces. Busque el número que aparece solo una vez.

Ejemplo 1:

输入:nums = [3,4,3,3]
输出:4

Ejemplo 2:

输入:nums = [9,1,7,9,7,9,7]
输出:1

límite:

  • 1 <= números.longitud <= 10000
  • 1 <= números[i] < 2^31

Ideas para resolver problemas:

  • Este método se puede utilizar como solución de fuerza bruta para encontrar elementos duplicados en una matriz.
  • Comenzando desde el primer elemento y comparándolo con cada elemento posterior, si aparece el mismo valor, cuente count++
  • Cuando el segundo elemento se compara secuencialmente, el recuento se establece en 0 y se reinicia.
  • Si en ese ciclo, el recuento es 1, significa que el valor solo aparece una vez, registra el valor, interrumpe para salir de todos los bucles y devuelve el número.
class Solution {
    
    
    public int singleNumber(int [] nums) {
    
    
         // 从第一个元素开始和后面的每一个元素比较,若有相同的数值出现,则计数count++,当第二个元素依次往后比的时候,计数count置0,重新计数,如果在那轮循环中,计数为1说明该数值只出现了一次,记录该数值,将其返回即可
        int key=0;
    for (int i = 0; i < nums.length; i++) {
    
    
            int count=0;//无脑遍历计数,外层遍历相当于哨兵
            for (int j = 0; j < nums.length; j++) {
    
    
                if(nums[i]==nums[j]){
    
    //内层循环相当于比对计数
                    count++;        //当前数字每出现就计数
                }
            }
            if(count==1){
    
    
               key =nums[i];        //记录那个只出现一次的数值,并将其返回
            }
        }
        return key;         
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_44243059/article/details/125898029
Recomendado
Clasificación