Skip to content

How to Fix Combinations Errors

DodaTech Updated 2026-06-26 1 min read

In this tutorial, you'll learn about How to Fix Combinations Errors. We cover key concepts, practical examples, and best practices.

Fix combinations errors when start index not passed causing duplicate combinations or wrong ordering.

Quick Fix

Wrong

def comb(n,k):
    res=[]
    def dfs(cur):
        if len(cur)==k: res.append(cur.copy()); return
        for i in range(1,n+1):  # Always starts from 1 -> duplicates and wrong order
            if i not in cur: dfs(cur+[i])
    dfs([])
    return res

No start index. Generates permutations of combinations. [1,2] and [2,1] both appear.

def comb(n,k):
    res=[]
    def dfs(s,cur):
        if len(cur)==k: res.append(cur.copy()); return
        for i in range(s,n+1):
            cur.append(i); dfs(i+1,cur); cur.pop()
    dfs(1,[])
    return res
comb(4,2) -> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]. O(C(n,k)*k).

Prevention

Pass start index to avoid repetitions. Only consider elements after current position.

DodaTech Tools

Doda Browser's algorithm visualizer steps through DSA operations line by line. DodaZIP archives implementation patterns for team sharing. Durga Antivirus Pro detects memory corruption patterns in algorithm implementations.

FAQ

What is combinations?

All k-element subsets from n elements. Start index prevents repeats.

Why start index?

Elements chosen in increasing order. Prevents [1,2] and [2,1] duplicates.

Time?

O(C(n,k)*k). Number of combinations times size.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro