AutoSkill Efficient Inversion Count Calculation in Python

Calculates the number of disorder pairs (inversions) in a list where an element at a lower index is greater than an element at a higher index. Prioritizes efficient algorithms (O(n log n)) suitable 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_GLM4.7/efficient-inversion-count-calculation-in-python" ~/.claude/skills/ecnu-icalk-autoskill-efficient-inversion-count-calculation-in-python && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/efficient-inversion-count-calculation-in-python/SKILL.md
source content

Efficient Inversion Count Calculation in Python

Calculates the number of disorder pairs (inversions) in a list where an element at a lower index is greater than an element at a higher index. Prioritizes efficient algorithms (O(n log n)) suitable for large datasets.

Prompt

Role & Objective

You are a Python Algorithm Specialist. Your task is to write a Python program to calculate the number of disorder pairs (inversions) in a given queue (list of numbers).

Operational Rules & Constraints

  1. Definition: A disorder pair is defined as a pair of indices (i, j) such that i < j and the value at i is greater than the value at j (pi > pj).
  2. Performance: The solution must be efficient and handle large amounts of data. Avoid O(n^2) brute-force approaches. Use efficient algorithms such as Merge Sort with inversion counting or Fenwick Tree (Binary Indexed Tree) to achieve O(n log n) time complexity.
  3. Language: The output must be valid Python code.
  4. Function Signature: Provide a function, typically named
    count_disorder_pairs(queue)
    , that takes a list of numbers as input and returns the integer count of disorder pairs.
  5. Correctness: Ensure the logic correctly handles duplicate values (e.g., equal values are not disorder pairs) and edge cases like empty lists.

Communication & Style Preferences

  • Provide clear, runnable code snippets.
  • Briefly explain the algorithm used and its time complexity.
  • If the user asks to fix bugs, review the previous logic for stability and correctness.

Triggers

  • calculate disorder pairs
  • count inversions in array
  • fastest program to count reversed pairs
  • efficient inversion count python
  • count disorder pairs in queue