如何编写代码实现两数之和
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,本篇内容主要讲解"如何编写代码实现两数之和",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何编写代码实现两数之和"吧!一、说明给定一个整数数组和一个目标值
千家信息网最后更新 2025年02月11日如何编写代码实现两数之和
本篇内容主要讲解"如何编写代码实现两数之和",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何编写代码实现两数之和"吧!
一、说明
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15] , target = 9 。
因为 nums[0] + nums[1] = 2 + 7 = 9 ,
所以返回 [0, 1]
二、解决方案参考
1. Swift 语言
2. JavaScript 语言
3. Python 语言
4. Java 语言
5. C++ 语言
6. C 语言
#include#include struct object { int val; int index;};static int compare(const void *a, const void *b){ return ((struct object *) a)->val - ((struct object *) b)->val;}static int * twosum(int *nums, int numsSize, int target){ int i, j; struct object *objs = malloc(numsSize * sizeof(*objs)); for (i = 0; i < numsSize; i++) { objs[i].val = nums[i]; objs[i].index = i; } qsort(objs, numsSize, sizeof(*objs), compare); int count = 0; int *results = malloc(2 * sizeof(int)); i = 0; j = numsSize - 1; while (i < j) { int diff = target - objs[i].val; if (diff > objs[j].val) { while (++i < j && objs[i].val == objs[i - 1].val) {} } else if (diff < objs[j].val) { while (--j > i && objs[j].val == objs[j + 1].val) {} } else { results[0] = objs[i].index; results[1] = objs[j].index; return results; } } return NULL;}int main(void){ //int nums[] = {-1, -2, -3, -4, -5}; //int target = -8; //int nums[] = {0,4,3,0}; //int target = 0; int nums[] = { 3, 2, 3 }; int count = sizeof(nums) / sizeof(*nums); int target = 6; int *indexes = twosum(nums, count, target); if (indexes != NULL) { printf("%d %d", indexes[0], indexes[1]); } else { printf("Not found"); } return 0;}
到此,相信大家对"如何编写代码实现两数之和"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
语言
之和
代码
内容
数组
目标
目标值
学习
实用
更深
两个
元素
兴趣
实用性
实际
操作简单
整数
方案
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
四个数据库
珠海呐死网络技术公司
如何开多版本服务器
鹰潭市易航网络技术有限公司
ccsc网络安全认证
福建软件开发电话多少
谨防网络安全手抄报
浦东新区运营网络技术平均价格
网络安全为主题的画怎么画
网络安全规范流程
无线网络安全实训总结
国外网络安全新闻网站
公司邮箱接收服务器地址怎么查看
网络技术示信上海百首网络
北京卫视首都网络安全日视频
服务器安全狗 装几个
杨金民数据库
对计算机网络技术专业的宣传语
饥荒服务器存档
服务器上没有我的计算机
笔记本数据库编程
网络技术服务费明细
网络技术示信上海百首网络
局域网服务器组建
腾讯服务器可以恢复多久聊天记录
网络安全的黑板板
浙江游戏软件开发外包
cms如何抓取全部数据库
魔兽阿拉索服务器
江阳小说软件开发