首页 > 其他分享 >40. 组合总和 IIc

40. 组合总和 IIc

时间:2024-03-21 19:13:27浏览次数:24  
标签:return target returnSize int sum 40 IIc array 总和

/**
 * Return an array of arrays of size *returnSize.
 * The sizes of the arrays are returned as *returnColumnSizes array.
 * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
 */
int temp[150];
 
int cmp(const void* a,const void* b){
    int x=*(int*)a;
    int y=*(int*)b;
    if(x>y) return 1;
    return -1;
}

void dfs(int* candidates,int candidatesSize,int target,int* returnSize,int* column,int** array,int index,int count,int sum){
    if(index>candidatesSize || sum>target  ) return;
    if(index==candidatesSize && sum !=target) return;
    if(sum==target){
        printf("%d",sum);
        array[*returnSize]=(int*)malloc(sizeof(int)*count);
        column[*returnSize]=count;
        for(int i=0;i<count;i++) array[*returnSize][i]=temp[i];
        (*returnSize)++;
        return;
    }
    int use[70]={0};
    for(int i=index;i<candidatesSize;i++){
        if(use[candidates[i]]==0){
            use[candidates[i]]=1;
            temp[count]=candidates[i];
            dfs(candidates,candidatesSize,target,returnSize,column,array,i+1,count+1,sum+candidates[i]);
        }
    }
}
 
int** combinationSum2(int* candidates, int candidatesSize, int target, int* returnSize, int** returnColumnSizes) {
    qsort(candidates,candidatesSize,sizeof(int),cmp);
    *returnSize=0;
    int* column=(int*)malloc(sizeof(int)*50000);
    int** array=(int**)malloc(sizeof(int*)*50000);
    dfs(candidates,candidatesSize,target,returnSize,column,array,0,0,0);
    *returnColumnSizes=column;
    return array;
}

 

标签:return,target,returnSize,int,sum,40,IIc,array,总和
From: https://www.cnblogs.com/llllmz/p/18088063

相关文章

  • 20240321每日一题题解
    20240321每日一题题解Problem已知\(f(x,n)=\sqrt{n+\sqrt{(n-1)+\sqrt{(n-2)+\sqrt{...+2+\sqrt{1+x}}}}}\)。计算\(f\)的值。输入\(x\)和\(n\)​。输出这个函数值,并且注意需要保留两位小数。例如,输入4.210,则应该输出3.68Solution递归?循环?说实话这道题是有一定思考......
  • AI新工具(20240321) 又一个开源的Sora实现;高质量动漫风格图像的文本到图像模型;字节跳
    ✨1:Mora利用多智能体合作生成视频任务的多智能体框架Mora是一种多智能体框架,专为通用视频生成任务设计。它通过多个视觉智能体的协作,实现了在多种视频生成任务中的高质量输出,旨在复制并扩展OpenAISora的能力。以下是通俗语言总结的Mora功能以及可能的使用情景......
  • 求一个资深 Windows客户端开发工程师(20k-40k *15薪)
    公司:深圳迅雷 项目:光影魔术手发布于2004年,是一款简单易用的PC端图片编辑软件,拥有数百万用户。2024年“光魔”作为公司重点项目再启航,老产品碰撞新AI技术为用户提供更佳的体验,现广纳贤才,欢迎你的加入,一起做出更优质的产品。职责:1.负责PC客户端相关产品的研发工作;2.负责......
  • 算法模板 v1.10.2.20240320
    算法模板v1.1.1.20240115:之前历史版本已不可寻,创建第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”;删除“编译”-“手动开O优化”;修改“编译”-“CF模板”;删除“读写”;删除“图论”-“欧拉图”-“混合图”;删除“图论”-“可达性统计”;删除“数据类型”-“高精类”。......
  • 解决访问站外图片403(referrer)问题
     我的博客原文:解决访问站外图片403(referrer)问题 问题我们在使用站外图片的时候,访问图片403,但是浏览器直接访问图片链接可以打开,这是为什么呢?原因http请求体的header中有一个referrer字段,用来表示发起http请求的源地址信息,这个referrer信息是可以省略但是不可修改的,就......
  • 20240320每日一题题解
    20240320每日一题题解Problem阿克曼(Ackermann)函数\(A(m,n)\)中,\(m,n\)定义域是非负整数(\(m\le3\),\(n\le10\)),函数值定义为:\(\mathit{akm}(m,n)=n+1\);(\(m=0\)时)。\(\mathit{akm}(m,n)=\mathit{akm}(m-1,1)\);(\(m>0\)、\(n=0\)时)。\(\mathit{akm}(m,n)=......
  • Windows 10企业版LTSC系统 更新错误(0x8024401c) 解决方法
    报错0x8024401c,遇到这种情况不要担心,往下看!!!以系统管理员的身份执行命令提示符,然后执行下列三行指令:netstopwuauservregdeleteHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdatenetstartwuauserv操作如下:C:\Windows\system32>netstopwuauservWind......
  • 20240320打卡
    第四周第一天第二天第三天第四天第五天第六天第七天所花时间1h5h3h代码量(行)212359274博客量(篇)111知识点了解Kotlin编写用户注册与登录功能jetpack的深入使用hilt依赖注入与kotlin协程等知识了解JetpckDagger-Hilt依赖......
  • 20240315-1-逻辑题目
    逻辑题目逻辑题目现在也是面试中常考的题目,也不清楚面试出这种题目的意义,可能就是考察面试人员是否逻辑清晰.这种题目没有什么好的方法,除非你见过原题,否则,只能根据所给出的条件慢慢分析,尽量不要用常规思路,希望大家要跳跃思维.如果实在不行就给出一种解法,可能......
  • LCR 159. 库存管理 IIIc
    /***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/intdivide(int*stock,inthead,inttail){intt=stock[head];while(head<tail){while(head<tail&&stock[tail]>t)tail--;if(head<......