Dados dos números n y k, encuentre el k-ésimo número en la secuencia Par-Impar hecha de n. La secuencia Par-Impar contiene primero todos los números impares del 1 al n y luego todos los números pares en el conjunto del 1 al n.
Examples : Input : n = 5, k = 3 Output : 5 In this example, the Odd-Even is {1, 3, 5, 2, 4}. The third number in sequence is 5.
Enfoque ingenuo :
El primer enfoque es simplemente hacer una secuencia Par-Impar y luego encontrar el k-ésimo elemento en ella.
C++
// CPP program to find k-th // element in the Odd-Even // sequence. #include <bits/stdc++.h> using namespace std; int findK(int n, int k) { vector<long> a; // insert all the odd // numbers from 1 to n. for (int i = 1; i < n; i++) if (i % 2 == 1) a.push_back(i); // insert all the even // numbers from 1 to n. for (int i = 1; i < n; i++) if (i % 2 == 0) a.push_back(i); return (a[k - 1]); } // Driver code int main() { long n = 10, k = 3; cout << findK(n, k) << endl; return 0; }
Java
// Java program to find k-th // element in the Odd-Even // sequence. import java.util.*; class GFG{ static int findK(int n, int k) { ArrayList<Integer> a = new ArrayList<Integer>(n); // insert all the odd // numbers from 1 to n. for (int i = 1; i < n; i++) if (i % 2 == 1) a.add(i); // insert all the even // numbers from 1 to n. for (int i = 1; i < n; i++) if (i % 2 == 0) a.add(i); return (a.get(k - 1)); } // Driver code public static void main(String[] args) { int n = 10, k = 3; System.out.println(findK(n, k)); } } // This code is contributed by mits
Python3
# Python3 code to find # k-th element in the # Odd-Even sequence. def findK (n, k ): a = list() # insert all the odd # numbers from 1 to n. i = 1 while i < n: a.append(i) i = i + 2 # insert all the even # numbers from 1 to n. i = 2 while i < n: a.append(i) i = i + 2 return (a[k - 1]) # Driver code n = 10 k = 3 print(findK(n, k)) # This code is contributed # by "Sharad_Bhardwaj".
C#
// C# program to find k-th // element in the Odd-Even // sequence. using System; using System.Collections; class GFG{ static int findK(int n, int k) { ArrayList a = new ArrayList(n); // insert all the odd // numbers from 1 to n. for (int i = 1; i < n; i++) if (i % 2 == 1) a.Add(i); // insert all the even // numbers from 1 to n. for (int i = 1; i < n; i++) if (i % 2 == 0) a.Add(i); return (int)(a[k - 1]); } // Driver code static void Main() { int n = 10, k = 3; Console.WriteLine(findK(n, k)); } } // This code is contributed by mits
PHP
<?php // PHP program to find k-th // element in the Odd-Even // sequence. function findK($n, $k) { $a; $index = 0; // insert all the odd // numbers from 1 to n. for ($i = 1; $i < $n; $i++) if ($i % 2 == 1) $a[$index++] = $i; // insert all the even // numbers from 1 to n. for ($i = 1; $i < $n; $i++) if ($i % 2 == 0) $a[$index++] = $i; return ($a[$k - 1]); } // Driver code $n = 10; $k = 3; echo findK($n, $k); // This code is contributed by mits. ?>
Javascript
<script> // Javascript program to find k-th // element in the Odd-Even // sequence. function findK(n, k) { let a = []; // insert all the odd // numbers from 1 to n. for (let i = 1; i < n; i++) if (i % 2 == 1) a.push(i); // insert all the even // numbers from 1 to n. for (let i = 1; i < n; i++) if (i % 2 == 0) a.push(i); return (a[k - 1]); } let n = 10, k = 3; document.write(findK(n, k)); // This code is contributed by mukesh07. </script>
Producción :
5
Complejidad de tiempo: O(n), para un enfoque O(1), lea el enfoque discutido aquí .
Complejidad espacial : O (n) desde que se usa una array auxiliar
Publicación traducida automáticamente
Artículo escrito por Sagar Shukla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA