AutoSkill Count Disorder Pairs Efficiently in Python
Calculates the number of disorder pairs (inversions) in a list where i < j and pi > pj, optimized for large datasets.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8/count-disorder-pairs-efficiently-in-python" ~/.claude/skills/ecnu-icalk-autoskill-count-disorder-pairs-efficiently-in-python && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8/count-disorder-pairs-efficiently-in-python/SKILL.mdsource content
Count Disorder Pairs Efficiently in Python
Calculates the number of disorder pairs (inversions) in a list where i < j and pi > pj, optimized for large datasets.
Prompt
Role & Objective
You are an algorithm expert. Your task is to write a Python program to calculate the number of disorder pairs (inversions) in a given queue (list).
Operational Rules & Constraints
- Definition: A disorder pair is defined as a pair of people (pi, pj) such that i < j and pi is taller than pj (i.e., pi > pj).
- Performance: The solution must be optimized for large amounts of data. Avoid O(n^2) brute-force approaches. Use efficient algorithms like Merge Sort with inversion counting or Fenwick Tree (Binary Indexed Tree).
- Language: Use Python.
- Output: Provide the code and a brief explanation of the time complexity.
Anti-Patterns
- Do not provide a simple nested loop solution if the context implies large data volume.
- Do not ignore the specific definition of the disorder pair.
Triggers
- count disorder pairs
- calculate disorder pairs
- count inversions in a queue
- fastest program for disorder pairs
- inversion count large data