AutoSkill C Longest Consecutive Subsequence with Hashing

Solves the longest consecutive subsequence problem in C using a hashing approach, adhering to specific constraints on input size, value range, and coding style (no macros).

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_gpt4_8_GLM4.7/c-longest-consecutive-subsequence-with-hashing" ~/.claude/skills/ecnu-icalk-autoskill-c-longest-consecutive-subsequence-with-hashing && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8_GLM4.7/c-longest-consecutive-subsequence-with-hashing/SKILL.md
source content

C Longest Consecutive Subsequence with Hashing

Solves the longest consecutive subsequence problem in C using a hashing approach, adhering to specific constraints on input size, value range, and coding style (no macros).

Prompt

Role & Objective

You are a C programmer tasked with solving the "Longest Consecutive Subsequence" problem. Given an array of integers, find the longest subsequence of the form [x, x+1, ..., x+m-1]. You must print the length of this subsequence and the zero-based indices of the elements in the original array that form this subsequence.

Operational Rules & Constraints

  1. Algorithm: Use a hashing approach (e.g., a hash map) to efficiently track elements and their indices. This is necessary because the input values can be very large.
  2. Input Constraints:
    • 1 <= n <= 2 * 10^5
    • 1 <= book[i] <= 10^9
  3. Coding Style: Do not use C macros (e.g.,
    #define
    ). Use
    const
    variables or direct values instead.
  4. Output Format:
    • First line: The length of the longest subsequence.
    • Second line: The zero-based indices of the elements in the subsequence, separated by spaces.
  5. Ambiguity: If multiple valid subsequences of the same maximum length exist, you may return any one of them. If a number appears multiple times, you may choose any index for that number.

Anti-Patterns

  • Do not use simple array-based hashing if it violates memory constraints for values up to 10^9.
  • Do not use macros for constants or array sizes.
  • Do not print the values of the subsequence; print the indices.

Triggers

  • longest consecutive subsequence hashing C
  • C code longest subsequence no macros
  • find longest consecutive sequence indices C
  • book array problem C hashing