arrays

01929. Leetcode: Concatenation of Array – Problem and Solution

In this blog post, we’ll explore a coding problem from LeetCode that involves concatenating an array with itself. We’ll discuss the problem statement and provide a solution using a simple algorithm.

The problem is as follows:

Given an integer array nums of length n, the task is to create a new array ans of length 2n such that ans[i] == nums[i] and ans[i + n] == nums[i] for 0 <= i < n (0-indexed). In simpler terms, the array ans is formed by concatenating two instances of the original array nums.

To solve this problem, we can use a straightforward approach. We create a new array ans with a length of 2n and fill it by copying elements from the original array nums twice. Here’s the solution in C#:

Solution

public class Solution {
    public int[] GetConcatenation(int[] nums) {
        int length = nums.Length;
        int[] newArray = new int[2 * length];

        for (int i = 0; i < length; i++)        
            newArray[i] = newArray[i + length] = nums[i];                 

        return newArray;
    }
}

In this solution, we iterate through the original array nums and copy each element to the corresponding positions in the new array newArray. The result is a concatenated array that meets the given conditions.

Conclusion

This LeetCode problem provides a simple exercise in array manipulation and indexing. The solution presented here demonstrates a basic algorithmic approach to solving the problem. Understanding and practicing such problems are valuable for improving algorithmic thinking and problem-solving skills in programming.

One response to “01929. Leetcode: Concatenation of Array – Problem and Solution”

  1. vpn_unOt Avatar
    vpn_unOt

    Insightful read. We recently containerized a legacy .NET Framework app using Windows containers and the migration was smoother than expected. Docker Compose made the local dev experience much better.

Leave a Reply

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


Categories


Tag Cloud

.net algorithms angular api Array arrays async asynchronous basic-concepts big o blazor c# classes code components containers control-structures csharp data structures Deep Learning dictionaries docker dom dotnet framework functions guide javascript json leetcode linq lists LLM loops methods Natural Language Processing npm object oriented programming oop operators promisses Python tutorial variables web framework