k-th number in the Odd-Even sequence

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
 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button