jwalsh / jwalsh/hy-algorithms

Implement advanced array algorithms

Open
#20 0 comments 0 reactions 0 assignees View on GitHub
array difficulty:medium
Dominant language
Hy
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Create implementations for advanced array manipulation algorithms:

## In-place algorithms:
- Rearrange array in alternating positive and negative
- Rearrange array such that arr[i] becomes arr[arr[i]]
- Move all zeros to end while maintaining order
- Find duplicate in array in O(n) time and O(1) space
- Maximum subarray sum (Kadane's algorithm)
- Majority element (Boyer-Moore voting algorithm)

## Window-based techniques:
- Sliding window algorithm template
- Find subarray with given sum
- Minimum size subarray sum
- Longest substring without repeating characters
- Minimum window substring

## Partitioning algorithms:
- Dutch national flag problem
- Three-way partitioning
- QuickSelect for k-th smallest element

## Requirements:
- Provide detailed complexity analysis
- Create comprehensive test cases
- Include practical applications
- Document advanced array manipulation techniques

This collection will demonstrate sophisticated array manipulation techniques that are essential for efficient algorithm design.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.