Introducción

1

Arrays y Strings para resolver algoritmos avanzados

2

Arrays y Strings en detalle

Dos Apuntadores

3

Patrón de Dos Apuntadores

4

Verifying Alien Dictionary: análisis del problema

5

Solución de Verifying Alien Dictionary

6

Playground: Verifying Alien Dictionary

7

Programando Verifying Alien Dictionary con JavaScript

8

Merge Two Sorted Lists: análisis del problema

9

Solución de Merge Two Sorted Lists

10

Playground: Merge Two Sorted Lists

11

Programando Merge Two Sorted Lists con Python

12

Container With Most Water: análisis del problema

13

Solución de Container With Most Water

14

Playground: Container with Most Water

15

Programando Container With Most Water con Java

16

Reto: Trapping Rain Water

17

Ejercicios recomendados de Dos Apuntadores

18

Ejercicios resueltos de Dos Apuntadores

Ventana Deslizante

19

Patrón de Ventana Deslizante

20

Longest Substring Without Repeating Characters: análisis del problema

21

Solución de Longest Substring Without Repeating Characters

22

Playground: Longest Substring Without Repeating Characters

23

Programando Longest Substring Without Repeating Characters con Python

24

Ejercicios recomendados de Ventana Deslizante

25

Ejercicios resueltos de Ventana Deslizante

Búsqueda Binaria

26

Algoritmo de Búsqueda Binaria

27

Search in Rotated Arrays: análisis del problema

28

Solución de Search in Rotated Arrays

29

Playground: Search in Rotated Arrays

30

Programando Search in Rotated Arrays

31

Search 2D Array Matrix: análisis del problema

32

Solución de Search 2D Array Matrix

33

Playground: Search 2D Array Matrix

34

Programando Search 2D Array Matrix

Próximos pasos

35

Toma el Curso Avanzado de Algoritmos: Estructuras de Datos Lineales

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Playground: Search in Rotated Arrays

29/35

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Aca mi solucion cualquier aporte o comentario sera bien recibido:
` js
export function searchInRotatedArray(nums, objetivo) {
let inicio = 0;
let fin = nums.length - 1;

while (inicio <= fin) {
const medio = Math.floor((inicio + fin) / 2);

if (nums[medio] === objetivo) {
  return medio;
}

// Verificar en qué mitad del arreglo estamos
if (nums[inicio] <= nums[medio]) {
  // La primera mitad está ordenada
  if (nums[inicio] <= objetivo && objetivo < nums[medio]) {
    fin = medio - 1;
  } else {
    inicio = medio + 1;
  }
} else {
  // La segunda mitad está ordenada
  if (nums[medio] < objetivo && objetivo <= nums[fin]) {
    inicio = medio + 1;
  } else {
    fin = medio - 1;
  }
}

}

return -1; // Si no se encuentra el objetivo
}

`

Non Spoilers \n\n\n... ```js //Search in Rotated Arrays num[ objetivo ] if not return -1; .... export function searchInRotatedArray(nums, objetivo) { // Tu código aquí.... let left = 0; let right = nums.length -1 ; while ( left <= right ) { let mid = Math.floor( left + right) /2 ) ; if ( nums[ mid ] == objetivo ) { return mid ; } if ( nums[ left ] <= nums[ mid ] ) { if ( nums[ left ] <= objetivo && objetivo < nums[ mid ] ) { right = mid -1 ; } else { left = left + 1 ; } else { if ( nums [ mid ] < objetivo && objetivo <= nums[ right] ) { left = mid + 1 ; } else { right = mid -1 ; } } } return -1 ; } ```//Search in Rotated Arrays num\[ objetivo ] if not return -1; .... export function searchInRotatedArray(nums, objetivo) { // Tu código aquí.... let left = 0; let right = nums.length -1 ; while ( left <= right ) { let mid = Math.floor( left + right) /2 ) ; if ( nums\[ mid ] == objetivo ) { return mid ; } if ( nums\[ left ] <= nums\[ mid ] ) { if ( nums\[ left ] <= objetivo && objetivo < nums\[ mid ] ) { right = mid -1 ; } else { left = left + 1 ; } else { if ( nums \[ mid ] < objetivo && objetivo <= nums\[ right] ) { left = mid + 1 ; } else { right = mid -1 ; } } } return -1 ; }
código: ``` export function searchInRotatedArray(nums, objetivo) { if (nums.length === 1) { return nums\[0] === objetivo ? 0 : -1; } let left = 0; let right = nums.length - 1; while (left <= right) { let middle = Math.floor((left + right) / 2); if (nums\[middle] === objetivo) { return middle; } // Determine which half is sorted if (nums\[left] <= nums\[middle]) { // Left half is sorted if (nums\[left] <= objetivo && objetivo < nums\[middle]) { right = middle - 1; } else { left = middle + 1; } } else { // Right half is sorted if (nums\[middle] < objetivo && objetivo <= nums\[right]) { left = middle + 1; } else { right = middle - 1; } } } return -1; // objetivo not found} ```

Lo tenía en python la IA lo paso a Js



.
.

![](https://static.platzi.com/media/user_upload/image-9283b02c-1e4c-4412-ad1d-a281427c633c.jpg)
undefined