You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求生成任意单词字母间所有点号插入组合的算法

Generate All Possible Dot-Separated Combinations of a Word

Great question! Let's break down how to generate every possible combination of dots inserted between the letters of a given word—from the original word with no dots, all the way to placing a dot between every single pair of letters.

Core Approach

A word with n letters has n-1 gaps between its characters. For each gap, we have two choices: insert a dot or leave it as is. That means for a word like "welcome" (7 letters, 6 gaps), we'll have 2^6 = 64 total combinations—perfectly manageable with a simple iterative or recursive algorithm.

Iterative Implementation (Python)

Here's a straightforward, easy-to-follow iterative solution that builds all combinations step by step:

def generate_dot_combinations(word):
    # Handle edge case: empty word
    if not word:
        return []
    # Start with the first character as our initial combination
    combinations = [word[0]]
    # Iterate over every subsequent character in the word
    for char in word[1:]:
        temp = []
        # For each existing combination, create two new versions:
        # 1. Append the character directly (no dot)
        # 2. Append a dot followed by the character
        for combo in combinations:
            temp.append(combo + char)
            temp.append(combo + '.' + char)
        # Update our list of combinations to the new set
        combinations = temp
    return combinations

# Test with the example word "welcome"
if __name__ == "__main__":
    all_combinations = generate_dot_combinations("welcome")
    # Print all results (optional)
    for idx, combo in enumerate(all_combinations, 1):
        print(f"{idx}. {combo}")

How This Works

  1. Initialization: We start with just the first character of the word (since there's no gap before the first letter).
  2. Iterate Through Characters: For each subsequent character, we take every existing combination and create two new ones:
    • One where we add the character directly to the end (no dot inserted)
    • One where we add a dot followed by the character
  3. Build Up Combinations: Each iteration expands our list of combinations until we've processed all characters, resulting in every possible dot placement.

Edge Cases to Consider

  • Single-character word: If the input is something like "a", the function returns ["a"] (no gaps to insert dots, so only one combination).
  • Empty string: Returns an empty list, as there are no characters to work with.

内容的提问来源于stack exchange,提问作者Ahmed Mohammed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:21:53