Given two numbers n and k, find the k-th number in the Odd-Even sequence made of n. The Odd-Even sequence contains first contains all odd numbers from 1 to n then all even numbers in set 1 to 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.
Naive Approach :
The first approach is simply make a Odd-Even sequence and then find k-th element in it.
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 codeint 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 coden = 10k = 3print(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> |
Output :
5
Time complexity: O(n), for an O(1) approach read the approach discussed here.
Space Complexity: O(n) since using an auxiliary array
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
