C/C++ 两数之和为目标值时返回下标

题目:给定一个整数数组nums和一个整数目标值target,在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。
前提假设:每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。可以按任意顺序返回答案。
 

示例 1:
    输入:nums = [2,7,11,15], target = 9
    输出:[0,1]

示例 2:
    输入:nums = [3,2,4], target = 6
    输出:[1,2]

示例 3:
    输入:nums = [3,3], target = 6
    输出:[0,1]

示例 4:
    输入:nums = [-1,-2,-3,-4,-5], target = -8
    输出:[2,4]

解析: 使用嵌套循环加和比对

示例源码:

// len12.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <string>
#include <algorithm>
#include <vector>
using namespace std;vector<int> TwoSum(vector<int>& nums, int target)
{int pos1 = 0;int pos2 = 0;for (pos1 = 0; pos1<nums.size() - 1; pos1++){for (int pos2 = pos1 + 1; pos2<nums.size(); pos2++){if (nums[pos1] + nums[pos2] == target){return{ pos1, pos2 };}}}return{ pos1, pos2 };
}void PrintStr(vector<int>& nums, int target, vector<int>& result)
{// numsprintf("\nnums = [");for (int i = 0; i < nums.size(); i++){printf("%d%c", nums[i], (i==nums.size()-1)?(']'):(','));}// targetprintf("\ntarget = %d", target);// resultprintf("\nresult = [");for (int i = 0; i < result.size(); i++){printf("%d%c", result[i], (i == result.size() - 1) ? (']') : (','));}printf("\n" );}int _tmain(int argc, _TCHAR* argv[])
{vector<int> nums = { 2, 7, 11, 15 };int target =9 ;vector<int> result = TwoSum(nums, target);PrintStr(nums, target, result);nums = { 3, 2, 4 };target = 6;result = TwoSum(nums, target);PrintStr(nums, target, result);nums = { 3, 3 };target = 6;result = TwoSum(nums, target);PrintStr(nums, target, result);nums = { -1, -2, -3, -4, -5 };target = -8;result = TwoSum(nums, target);PrintStr(nums, target, result);return 0;
}

执行结果:

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

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

相关文章

物联网僵尸网络和 DDoS 攻击的 CERT 分析

在攻击发生当天早上&#xff0c;Dyn 证实其位于东海岸的 DNS 基础设施遭受了来自世界各地的 DDoS 攻击。这些攻击严重影响了 Dyn 的 DNS 客户的业务&#xff0c;更糟糕的是&#xff0c;客户的网站变得无法访问。这些攻击一直持续到美国东部时间下午13&#xff1a;45。Dyn在其官…

C语言学习----指针和数组

&#x1f308;这篇blog记录一下指针学习~ 主要是关于指针和数组之间的关系&#xff0c;还有指针的使用等~ &#x1f34e;指针变量是一个变量 其本身也有一个地址 也需要存放&#xff0c;就和int char等类型一样的&#xff0c;也需要有一个地址来存放它 &#x1f34c;而指针变量…

手机显示此应用专为旧版android打造,因此可能无法运行,点击应用后闪退的问题解决方案

如果您在尝试安装并运行一个Android应用&#xff08;APK文件&#xff09;时遇到错误消息“此应用专为旧版Android打造, 因此可能无法运行”&#xff0c;或者应用在启动时立即崩溃&#xff0c;以下是一些您可以尝试的解决步骤&#xff1a; 图片来源&#xff1a;手机显示此应用专…

抖音小店开设条件和区别:个人店 vs 企业店解析

抖音小店是抖音平台为商家提供的一种电商服务&#xff0c;可以帮助商家建立线上店铺&#xff0c;通过短视频和直播等形式进行商品展示和销售。在抖音小店中&#xff0c;商家可以选择开设个人店或企业店。下面不若与众将介绍抖音小店个人店和企业店的开设条件和区别。 1. 个人店…

c++ 冒泡排序

c 冒泡排序 #include <iostream> #include <vector> using namespace std;void bubble_sort(std::vector<int> &nums) {std::cout<<"bubble_sort"<<std::endl;int lenght nums.size();for(int i 1;i<lenght;i){for(int j 0;j&…

资深测试总结,性能测试目的如何做?主要看什么指标?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、性能测试是什么…

机器视觉工程师反复调试的原因是什么?

我们机器视觉项目的程序包含&#xff0c;业务逻辑图像处理&#xff0c;所以我们不单单调试图像处理部分&#xff0c;还要调试C&#xff0c;界面&#xff0c;数据等等。我们必须保证程序稳定性&#xff0c;还要保证视觉检测的稳定性。 据说&#xff0c;有个机器视觉工程师因为现…

用Pygame实现的乒乓球对战小游戏 附代码示例

这是一个用Pygame实现的乒乓球对战小游戏的简单示例。在这个示例中&#xff0c;我们将设置一个简单的游戏窗口&#xff0c;玩家可以通过按键来控制球拍击球。 首先&#xff0c;我们需要导入必要的库&#xff1a; import pygame import random然后&#xff0c;我们初始化pygam…

Jenkins 添加node节点

安装SSH插件 Jenkins- 插件管理- 可选插件- 搜索SSH Agent 配置启用SSH Server Jenkins- 系统管理 - 全局安全配置&#xff0c; 把 SSH Server 设置为启用(默认是禁用) 新增节点 第一种方式&#xff08;SSH密钥连接&#xff09;&#xff1a; 1.Jenkins主机生成SSH密钥 [rootk…

Spring支持哪几种事务管理类型,Spring 的事务实现方式和实现原理是?

1.Spring事务简介 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功同失败 Spring事务作用&#xff1a;在数据层或业务层保障一系列的数据库操作同成功同失败 为何需要在业务层处理事务&#xff1f;&#xff1a;有些操作在数据层无法保证同成功同失败&#xff0c;…

Python简单网抑云数据采集 JS逆向

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.10 Pycharm 模块使用: requests -> pip install requests execjs -> pip install execjs 爬虫实现基本思路流程: 一. 数据来源分析: 明确需求: 明确采集的网站以及数据内容 网址: https://mu…

【Spark精讲】Spark任务运行流程

Spark任务执行流程 部署模式是根据Drvier和Executor的运行位置的不同划分的。client模式提交任务与Driver进程在同一个节点上&#xff0c;而cluster模式提交任务与Driver进程不在同一个节点。 Client模式 Clinet模式是在spark-submit提交任务的节点上运行Driver进程。 执行流…

《码农的噩梦与修电脑的奇幻之旅》

故事从一个充满梦想的码农学习计算机编程开始。他对编写程序充满了热情&#xff0c;认为自己就像是一位能够编织魔法的巫师&#xff0c;能够创造出炫酷的虚拟世界。 然而&#xff0c;这个充满幻想的故事在码农入门的第一天就遭遇了突如其来的挫折。电脑故障了&#xff01;所有…

数据结构 | 二叉树交换左右子树

二叉树交换左右子树的三种实现方式_交换二叉树的左右子树-CSDN博客

全网最新最全的基于Tensorflow和PyTorch深度学习环境安装教程: Tensorflow 2.10.1 加 CUDA 11.8 加 CUDNN8.8.1加PyTorch2.0.0

本文编写日期是&#xff1a;2023年4月. Python开发环境是Anaconda 3.10版本&#xff0c;具体Anaconda的安装这里就不赘述了&#xff0c;基础来的。建议先完整看完本文再试&#xff0c;特别是最后安装过程经验分享&#xff0c;可以抑制安装过程中一些奇怪的念头&#xff0c;减少…

mongodb之mongoTemplate基本操作

mongoTemplate基本操作 前提&#xff1a;已安装好mongodb服务 架构&#xff1a;springbootmongodb 1.引入依赖&#xff08;二选一&#xff09; // maven添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

气动工具市场分析:预计2029年将达到725亿元

从广义上讲&#xff0c;气动工具主要是利用压缩空气带动气动马达而对外输出动能工作的一种工具&#xff0c;根据其基本工作方式可分为&#xff1a;1)旋转式(偏心可动叶片式)&#xff1b;2)往复式(容积活塞式)一般气动工具主要由动力输出部分、作业形式转化部分、进排气路部分、…

排序与算法--冒泡排序

1.原理 比较两个相邻的元素&#xff0c;将较大的值交换到右边 2.举例&#xff1a;2 8 7 5 9 4 3 第一趟&#xff1a; 第一次&#xff1a;比较第一个和第二个&#xff1a;2 8 &#xff0c;不需要交换 第二次&#xff1a;比较 8 7&#xff0c;将8和7进行交换&#xff1a;2 7 …

【Python】webp图片转jpg

webp这种图片格式&#xff0c;是谷歌公司专门针对谷歌浏览器发布的一种全新的图片格式。相对于传统的jpg和png格式&#xff0c;webp格式的优势非常明显&#xff0c;更小的体积和肉眼无法区别出来的压缩损耗。但是对于很多人来说&#xff0c;下载下来之后使用不太方便&#xff0…

HT1621B新版本字段式驱动显示芯片替代PC1621K

PC1621K是一个32*4的LCD驱动器&#xff0c;可软体程控使其适用于多样化的LCD应用线路&#xff0c;仅用到3至4条讯号线便可控制LCD驱动器&#xff0c;除此之外也可介由指令使其进入省电模式 特色&#xff1a; 工作电压&#xff1a;2.4-5.2V 内建256KHz RC oscillator可外接 …