Tus condiciones donde k es par están mal. Su extraña condición de k es perfectamente correcta.
Déjame decirte dónde te equivocaste en tu condición pareja para k.
No puede comenzar su índice con 0 porque si tiene más de dos elementos con% K = 0, sumarán y darán un número ua que es divisible por k. Entonces comienzas tu índice con 1 y subes a i <mid + 1, tal como lo hiciste en una condición extraña. Pero hay una diferencia cuando i == mid, seré igual a k – i, por lo que son esencialmente lo mismo, entonces lo que haces es cuando i == mid, tomas el mínimo de (1, d [i] ) porque puede tener un máximo de 1 elemento, ya que dos elementos de d [mid] le darán una suma divisible por K. También ahora, dado que está comenzando tanto su condición par como su condición impar para k con i = 1, debe tener cuidado de i = 0. Es simple, tome el mínimo de (1, d [0]) porque más de un elemento de d [0] dará como resultado una suma divisible por k. También como lo señaló Chandra, haga que sea largo, largo, int
- ¿Cuánto de los algoritmos de Windows 8 y 10 se toman de versiones anteriores de Windows?
- ¿Cuál es la ecuación general para calcular la probabilidad de encontrar una cadena de longitud N en una cadena M más larga de caracteres aleatorios, cada uno elegido de {AZ}?
- ¿Qué es el DP?
- Cómo usar la ordenación por inserción para ordenar una matriz 2D en Java
- ¿Cómo funciona el retroceso en el caso de encontrar un subconjunto de una suma particular?