首页 > 其他分享 >17. 电话号码的字母组合c

17. 电话号码的字母组合c

时间:2024-03-21 18:44:50浏览次数:36  
标签:count index 17 int char 电话号码 字母组合 array

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
char temp[10];
char c[10][5]={" "," ","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};

void dfs(char** array,char* digits,int* returnSize,int n,int index,int count){
    if(index>n) return ;
    if(index==n){
        array[*returnSize]=(char*)malloc(sizeof(char)*(count+1));
        for(int i=0;i<count;i++) array[*returnSize][i]=temp[i];
        array[*returnSize][count]=0;
        (*returnSize)++;
        return;
    }
    int t=digits[index]-'0';
    int i=0;
    while(c[t][i]!=0){
        temp[count]=c[t][i++];
        dfs(array,digits,returnSize,n,index+1,count+1);
    }
}

char** letterCombinations(char* digits, int* returnSize) {
    int n=strlen(digits);
    char** array=(char**)malloc(sizeof(char*)*100000);
    *returnSize=0;
    dfs(array,digits,returnSize,n,0,0);
    if(n==0) (*returnSize)=0;
    return array;
}

 

标签:count,index,17,int,char,电话号码,字母组合,array
From: https://www.cnblogs.com/llllmz/p/18088025

相关文章

  • P1017 [NOIP2000 提高组] 进制转换题解
    题目我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置为指数,以10为底数的幂之和的形式。例如123可表示为1×102+2×101+3×100这样的形式。与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以2为底数的幂之......
  • 基于Python3的数据结构与算法 - 17 哈希表
    一、哈希表哈希表是一个通过哈希函数来计算数据存储位置的数据结构,通常支持如下操作:insert(key,value):插入键值对(key,value)。get(key):如果存在键值对为key的键值对则返回其value,否则返回空值。delete(key):删除键为key的键值对。1.直接寻址法当关键字的全域U比较小......
  • kernel BUG at arch/x86/kernel/apic/vector.c:174!
    问题兆芯设备适配ngrayos系统(debian系统4.20.1内核)时,在网口up时系统崩溃。版本如下:现象:经过排查,原因是因为兆芯设备启动参数加了noapic(不加系统无法正常刻录和启动),网口up时中断向量不够分配。APIC(AdvancedProgrammableInterruptController)是一种硬件设备,用于处......
  • 洛谷-P2178 学习笔记
    题面[NOI2015]品酒大会题目描述一年一度的“幻影阁夏日品酒大会”隆重开幕了。大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加。在大会的晚餐上,调酒师Rainbow调制了\(n\)杯鸡尾酒。这\(n\)杯鸡尾酒排成一......
  • 机试真题重点题目-2017
    A:连续字母#include<iostream>#include<string.h>#include<algorithm>usingnamespacestd;constintN=110;intn;charstr[N];intmain(){cin>>n;while(n--){scanf("%s",str+1);......
  • 洛谷题单指南-集合-P5266 【深基17.例6】学籍管理
    原题链接:https://www.luogu.com.cn/problem/P5266题意解读:本题考察map的应用。解题思路:直接使用map即可解题。100分代码:#include<bits/stdc++.h>usingnamespacestd;map<string,int>h;stringname;intn,op,score;intmain(){cin>>n;while(n--)......
  • 洛谷题单指南-集合-P5250 【深基17.例5】木材仓库
    原题链接:https://www.luogu.com.cn/problem/P5250题意解读:根据题目要求,需要一种数据结构,支持去重、排序、logN的查找,set是最合适的。解题思路:先回顾一下set的关键操作:设set<int>s;1、添加:s.insert(x)2、查询个数:s.count(x)3、查找第一个>=x的元素,返回迭代器:set<int>::iter......
  • CF817F MEX Queries 题解
    题目链接:CF或者洛谷不是很难的题,但在这里提供一个动态开点线段树怎么卡空间卡过去的极致空间处理技巧全局\(mex\)问题,常见的做法就是维护权值树,然后找第一个没有权值的点,可以维护\(\min\),但本题存在第三个操作,所以不能再去传统地维护\(\min或者\max\)去辅助二分了。观......
  • [ARC174B] Bought Review 题解
    【题目描述】你开了一家店,有\(A_i\)个\(i\)星级评论,你可以花费\(P_i\)元买到一个\(i\)星评论,问使得这家店评论的星星平均值不小于\(3\),最少要花多少钱。\(1\lei\le5\)。【思路】首先读入,判断平均值是否小于\(3\),如果大于等于,直接输出\(0\)​然后根据\(3\t......
  • spring使用jdk17运行出现编码问题
    遇到一个比较奇怪的问题。这个问题别人也遇到过。https://blog.csdn.net/gao_chuan_g/article/details/115117712一、情况简介使用jdk17+springboot3.x+spring6.x写一个小应用A,其中有一部分代码是用于生成SM2加密后的字符串,这个字符串会再做一些处理,最终会显示在前端的页面。......