leetcode——15.3Sum

#include<stdio.h>
#include<stdlib.h>int** threeSum(int* nums, int numsSize, int* returnSize)
{if (numsSize<3)return NULL;int comNum = numsSize*(numsSize - 1)*(numsSize - 2) / 6;int** ret = (int**)malloc(sizeof(int*)*comNum);//先创建“用来存储一堆指针的”空间int** tmp = ret;int realcomNum = 0;for (int i = 0; i < numsSize - 2; i++){for (int j = i+1; j < numsSize - 1; j++){for (int k = j+1; k < numsSize; k++){if (0 == nums[i] + nums[j] + nums[k]){*tmp = (int *)malloc(sizeof(int) * 3);//再把里面的指针,指向所分配空间*(*(tmp))   = nums[i];*(*(tmp)+1) = nums[j];*(*(tmp)+2) = nums[k];tmp = tmp + 1;realcomNum = realcomNum + 1;}}}}//注意这里面的写法,很有借鉴意义。对二级指针的运用很有启发,而且可以扩展到更高级指针。int** retReal = (int **)malloc(sizeof(int*)*realcomNum);for (int h = 0; h<realcomNum; h++){retReal[h] = tmp[h];//这里写成ret[h]才行}free(ret);*returnSize = realcomNum;return retReal;
}int main(void)//这份代码并不能完成题目要求的不能重复的要求。只是熟悉指针操作而已。
{int array[] = { 1,0,0,0,-1};int comnum=0;int** p = NULL;p = threeSum(array, sizeof(array) / sizeof(array[0]), &comnum);printf("共有%d个组合:\n",comnum);for (int n = 0; n <comnum; n++){printf("[%d,%d,%d]\n", *(p[n]+0), *(p[n] + 1), *(p[n] + 2));free(p[n]);}free(p);p = NULL;getchar();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[New Portal]Windows Azure Virtual Machine (17) Virtual Machine成本分析

《Windows Azure Platform 系列文章目录》 在Windows Azure VM里&#xff0c;计费模式是和以下几个因素有关&#xff1a; 成本1: VM Type and VM Size 具体的计费模式请参考这里 http://www.windowsazure.com/en-us/pricing/details/virtual-machines/#service-windows 我们知道…

Servlet与JSP间的传值问题

Servlet与JSP 之间的传值有两种情况&#xff1a;JSP -> Servlet&#xff0c; Servlet -> JSP。通过对象 request和 session (不考虑 application)完成传值。一、JSP -> servletJSP页面有3种方法向 servlet传值&#xff1a; form表单、URL<!-- JSP page --> ...…

java 访问修饰符

java 访问修饰符 类、方法、成员变量和局部变量的可用修饰符 修饰符 类 成员访求 构造方法 成员变量 局部变量 abstract&#xff08;抽象的&#xff09; √ √ &#xff0d; &#xff0d; &#xff0d; static &#xff08;静态的&#xff09; &#xff0d; √ …

嵌入式Linux系统的构成和启动总结

以下内容源于网络资源的整理&#xff0c;如有侵权请告知删除。 一、嵌入式Linux系统典型结构 Flash划分成以下4个区&#xff1a; &#xff08;1&#xff09;Bootloader区。存放的是Bootloader&#xff0c;它负责嵌入式系统最初的硬件初始化、驱动和内核加载。 &#xff08;2&…

防止arp***方法

防止arp***&#xff1a;Win7下搞定ip与mac地址绑定对于玩系统的老手都知道&#xff0c;防止arp***实际上不需要这个防火墙那个防火墙&#xff0c;一句命令将ip与mac地址绑定即可。例如&#xff1a;arp -s 192.168.1.1 00-19-e0-c0-6f-0a不过这句话在Windows7显得这么无助&#…

根文件系统的简介

以下内容源于网络资源的整理&#xff0c;如有侵权请告知删除。 一、文件系统 文件系统是对一个存储设备上的数据进行组织的机制。这种机制有利于用户和操作系统的交互。 尽管内核是 Linux 的核心&#xff0c;但文件却是用户与操作系统交互所采用的主要工具。对Linux来说尤其如…

使用jQuery异步传递含复杂属性及集合属性的Model到控制器方法

Student类有集合属性Courses&#xff0c;如何把Student连同集合属性Courses传递给控制器方法&#xff1f; public class Student { public string StudentName { get; set; } public IList<Course> Courses { get; set; } } public class Course…

函数指针的使用

在学习群里看到的一个程序&#xff0c;基本说明了函数指针的用法。就摘录如下&#xff1a;

CreateThread和_beginthread的区别

1.程序&#xff1a;程序构成&#xff1a;(1)源代码(2)可执行的二进制代码程序是指令和数据的有序集合&#xff0c;其本身没有任何运行的含义&#xff0c;是一个静态的概念。由操作系统加载其可执行的二进制代码&#xff0c;分配相应的数据结构&#xff1a;进程控制块PCB(Proces…

重新注册dll

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %i它的作用是用循环语句并且用regsvr32命令对Windows\System32文件夹中的所有DLL文件都进行一次注册&#xff0c;以解决诸如IE无法打开二级链接这样的问题。转载于:https://blog.51cto.com/gzkhrh/1375543

hdu max sum

这题跟求最大连续数列一样的&#xff0c;稍微不同的是只要把值改为标号就可以了。 #include<stdio.h>#include<string.h>#include<stdlib.h>#include<debug.h>#defineX 100001intA[X];intmain( ){intN,M,a,b,c,d,e,f,x,i,y,sum,len0; Debug(); scanf(&…

冒泡排序 Bubble Sort

冒泡排序 冒泡排序的过程很简单&#xff0c;就是不断比较相邻两个元素的大小关系&#xff0c;若逆序则交换之&#xff0c;这样通过一轮的比较&#xff0c;关键字最大的记录就沉底了。 一般地说&#xff0c;第i趟冒泡排序是从第一个元素起到第n-i1个元素依次比较相邻两个记录的关…

mysql query cache

1.概述&#xff1a;MySQL Query Cache 缓存客户端提交给MySQL的SELECT&#xff08;注意只是select&#xff09;语句以及该语句的结果集。注意&#xff1a;query_cache是mysql server端的查询缓存&#xff0c;在存储引擎之上。存储引擎层还有存储引擎的缓存&#xff0c;表也有表…

从源码到可执行程序的步骤

以下内容源于朱有鹏《物联网大讲堂》课程的学习整理&#xff0c;以及网页http://mp.weixin.qq.com/s/_iVrUtA-jgE8XAR-vKYcww的学习整理。如有侵权&#xff0c;请告知删除。 一、总结 从源码到可执行程序的步骤&#xff1a;预编译、编译、汇编、链接。前三个宏观上为编译&…

最近在ST公司的STxp70的dsp平台上开发音频codec模块.

公司最近和ST公司有个DAB的项目, 需要将AACplus,BSAC,MPEG-lay2以及lay3的算法在该dsp平台上 进行优化.这个dsp平台比较的奇怪和TI的以及arm的core不太一样,它有一个基本core以及基本指令集,它的 扩展的一些数学指令集是通过增加一些extension库来实现的.不过优化后的效率还是比…

Eclipse中部分快捷键

这个链接文章介绍的比较全面&#xff1a;http://blog.csdn.net/hevicky/article/details/7239977 我把其中认为对自己有用的几个快捷键整理出来&#xff0c;以便熟悉、使用。 MyEclipse 快捷键1(CTRL) ------------------------------------- Ctrl1 快速修复&#xff08;例如导…

win设置壁纸

默认壁纸图片位置&#xff1a; C:\Windows\Web\Wallpaper\Scenes 你可以自己建文件夹&#xff0c;放自己喜欢的桌面壁纸。 设置壁纸&#xff1a; 桌面右键 -> 个性化 然后点击 “桌面背景” -> 可以点击标题选择其下面的所有图片&#xff0c;也可以按 ctrl 选择你想要的…

Makefile中三个自动变量:$^,$@,$<

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 什么叫自动变量呢&#xff1f;就是这种变量会把模式中所定义的一系列的文件自动地挨个取出&#xff0c;直至所有的符合模式的文件都取完。这种自动化变量只应出现在规则的命令中。 以一个例子说明。 OBJS…

win8 软件字体乱码

安装了Win8企业评估版&#xff0c;安装一些软件中文字体显示出粗。进入控制面板&#xff0c;语言->单击左下角的位置链接->弹出的区域当前位置下拉框选择中文即可&#xff0c;最后重启即可。 winq -> search language setup->add language-> location (left bot…

物理机安装ESXI6.7提示No Network Adapters的解决方案

下载好ESXI6.7.iso镜像&#xff0c;写入U盘后&#xff0c;提示No Network Adapters&#xff0c;找不到网卡驱动。 解决办法&#xff1a;需要重新封装ESXI&#xff0c;将对应的网卡驱动嵌入进来。 1、先下载VMware-PowerCLI-6.5.0和ESXi-Customizer-PS&#xff1a; http://down.…