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 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> |
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