首页 > 编程语言 >LeetCode C++:HashTable篇

LeetCode C++:HashTable篇

时间:2023-06-27 17:46:35浏览次数:48  
标签:return target nums int C++ second HashTable LeetCode ret

1、Two Sum

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

You can return the answer in any order.

Example 1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

 1 class Solution {
 2 public:
 3     vector<int> twoSum(vector<int>& nums, int target) {
 4         unordered_map<int, int> ret;
 5         int n = nums.size();
 6         for(int i = 0; i < n; ++i){
 7             ret[nums[i]] = i; //{元素1, 0}、{元素2, 1}, find是查找first, 不能放反
 8         }
 9         for(int i = 0; i < n; ++i){
10             auto it = ret.find(target - nums[i]);
11             if(it != ret.end() && i != it->second) //not use the same element twice
12                 return vector<int>{i, it->second}; //返回second
13         }
14         return {-1, -1};
15     }
16 };

 

标签:return,target,nums,int,C++,second,HashTable,LeetCode,ret
From: https://www.cnblogs.com/karinto/p/17509511.html

相关文章

  • leetcode 21. 合并两个有序链表
    直接合并即可这道题是简单题,直接合并即可/**Definitionforsingly-linkedlist.publicclassListNode{intval;ListNodenext;ListNode(){}ListNode(intval){this.val=val;}ListNode(intval,ListNodenext){this.val=val;this.next=nex......
  • vscode--C++配置问题
    1、#include<iostream>报红但是能正常运行解决方案:win+Rcmd进入输入gcc-v-E-xc++-将红框中数据复制进随后保存即可......
  • [LeetCode] 1071. Greatest Common Divisor of Strings
    Fortwostrings s and t,wesay"t divides s"ifandonlyif s=t+...+t (i.e., t isconcatenatedwithitselfoneormoretimes).Giventwostrings str1 and str2,return thelargeststring x suchthat x dividesboth str1 and str2.Exam......
  • 在Androidstudio 中 通过jni java 和c++相互调用实现方法
    在Androidstudio中通过jnijava和c++相互调用实现方法1.创建javanative方法类publicclassNativeAPI{privatestaticfinalStringTAG=APP_TAG+"TestJni";static{System.loadLibrary("testnative");}//从c++so中获取字符串publicna......
  • C++太难学,怎么破?这本书给你指点迷津!
    2021年在线学习平台Springboard选出了最难学的编程语言TOP5,C++排在其中之一。C++难学的理由很多,比如它语法复杂,语法特性多,编程范式灵活,标准库内容过于基础,还要具备C语言基础等等。提起C++,它是由C语言大幅扩展而成,且用途非常广泛,例如用于Windows等操作系统、文字处理和......
  • C++ 容器比较 - Vector,
    C++容器STL准备了两类7种基本容器类型1.序列式容器:向量(vector)/双端队列(deque)/列表(List)/(string,array当做一种序列式容器)-与插入次序有关2.关联式容器(已序群集)-与插入次序无关(set,multiset,map,multiset)1.vectorvector(向量):是一种序列式容器,事实上和数组差不多,但它......
  • LeetCode —— 滑动窗口
    904. 水果成篮用一个Map记录当前窗口的情况: key-水果种类数value-这个水果种类在当前滑动窗口里出现的次数维持一个left指针到right指针的滑动窗口每次right右移一位,将新加入窗口的  fruits[right]这个种类放到map里,并将该种类计数+1如果当前窗口水果......
  • C++面试八股文:什么是智能指针?
    C++面试八股文:什么是智能指针?某日二师兄参加XXX科技公司的C++工程师开发岗位第19面:面试官:什么是智能指针?二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。面试官:C++11引入了哪些智能指针?二师兄:三种,分别是sh......
  • C++ Primer 第一章 开始
    输入输出C++并未定义任何输入输出,取而代之包含了一个标准库提供输入输出。iostream库包含两个基础类型:istream和ostream,分别表示输入流和输出流,流代表字符序列。标准库定义了4个IO对象cin为istream类型对象,也称为标准输入cout为ostream类型对象,也称为标准输出标准库还定义了......
  • C++面试八股文:std::deque用过吗?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第26面:面试官:deque用过吗?二师兄:说实话,很少用,基本没用过。面试官:为什么?二师兄:因为使用它的场景很少,大部分需要性能、且需要自动扩容的时候使用vector,需要随机插入和删除的时候可以使用list。面试官:那你知道STL中的stack是如何实......