首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在整数向量集中进行搜索

如何在整数向量集中进行搜索
EN

Stack Overflow用户
提问于 2019-05-06 02:57:29
回答 1查看 78关注 0票数 0

我试图形成一个整数向量的集合,在检查集合中是否已经存在相同的解时,我得不到正确的答案。

这是关于C++11的,我之前也发过类似的问题,但是没有得到任何有意义的回复。为什么每当我们形成一张地图或一组向量时,is不能识别我插入的向量是否与我已经插入的向量相同?几个月以来,我一直在寻找答案。此外,由于在Java等其他语言中也允许这种行为,因此必须解决此问题。如果有人能指出为什么这个行为不像我期望的那样工作,以及这个问题的可能解决方案是什么,那就太好了。

下面的代码是Leetcode上3Sum问题的解决方案,但由于我上面解释的原因,它不起作用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vector<vector<int>> threeSum(vector<int>& nums) {
        vector<vector<int>>result;
        unordered_map<int,int>m;
        set<vector<int>>res;
        bool flag=false;

        if(nums.size()<=2)
            return result;
        vector<int>temp;

        for(int i=0;i<nums.size()-1;i++)
        {
            int comp=-(nums[i]+nums[i+1]);
            if(m.find(comp)!=m.end())
            {
                auto location=m.find(comp);
                temp.push_back(comp);
                temp.push_back(nums[i]);
                temp.push_back(nums[i+1]);

                if(res.find(temp)==res.end())
                 {
                    res.insert(temp);
                    result.push_back(temp);
                 }

                temp.clear();
            }

            else
            {
                m[nums[i]]=i+1;
                m[nums[i+1]]=i+2;
            }
        }
        return result;
    }

在输入为0,0,0,0时,答案应该是: 0,0,0,而我得到的是:[0,0,0,0,0,0,0]

EN

回答 1

Stack Overflow用户

发布于 2019-05-06 03:25:37

您可以在集合中使用元组而不是向量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <tuple>
#include <set>
#include <iostream>

using std::get;

int main(int argc, char* argv[]) {
    std::set<std::tuple<int,int,int>> sums;

    auto tup1 = std::make_tuple(0, 0, 0);
    sums.insert(tup1);
    auto tup2 = std::make_tuple(0,0,0);
    sums.insert(tup2);
    std::cout << sums.size() << std::endl;
    for (auto& item : sums) {
        std::cout << "(" << get<0>(item) << "," << get<1>(item) << "," << get<2>(item) << ")\n";
    }
    return 0;
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55998269

复制
相关文章
如何将多个 kubeconfig 文件合并为一个?
项目通常有多个 k8s 集群环境,dev、testing、staging、prod,kubetcl 在多个环境中切换,操作集群 Pod 等资源对象,前提条件是将这三个环境的配置信息都写到本地机的 $HOME/.kube/config 文件中。
我的小碗汤
2023/03/19
2.4K0
如何将多个 kubeconfig 文件合并为一个?
python根据已有文件名的文件复制文件到新文件夹中
最近需要对一些图片进行整理,需要从一堆图片中将已经存在在文件中的图片移动到另外一个新的文件夹中,所以就特意就写了一个小玩意方便使用.下面是代码实现:
小海怪的互联网
2019/10/14
3.8K0
Java 将两个Map对象合并为一个Map对象
实现方式是通过 putAll() 方法将多个 map 对象中的数据放到另外一个全新的 map 对象中,代码如下所示,展示了两个 map 对象的合并,如果是多个 map 合并也是用这种方式。
程序员十三
2018/12/28
4.6K0
java将字符串存入GridF并通过id或文件名查询
import static org.bson.codecs.configuration.CodecRegistries.fromProviders; import static org.bson.codecs.configuration.CodecRegistries.fromRegistries; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; i
HUC思梦
2020/09/03
8650
python两个列表合并为字典,一个作为
两个列表合并为一个字典函数list_dic(list1,list2)可以直接复制拿走
py3study
2020/01/17
2.4K0
Java中如何把两个数组合并为一个
http://freewind.me/blog/20110922/350.html
全栈程序员站长
2022/09/07
1.3K0
pycharm创建第一个程序_python创建新文件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174511.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
4930
pycharm创建第一个程序_python创建新文件
如何将文件名称批量导入excel
不给赞赏的话给个赞或者关注下公众号TungHsu吧,不会让你失望的,好玩的数据,免费的软件,学习资料和方法。
用户1315847
2018/07/26
4.7K0
如何将文件名称批量导入excel
Go处理字符串到合法文件名
使用filenamify库 Demo package main import ( "github.com/flytam/filenamify" "fmt" ) func main() { output,err :=filenamify.Filenamify(`<foo/bar>`,filenamify.Options{}) fmt.Println(output,err) // => foo!bar,nil //--- output,err =filenamify.Filen
ACK
2020/02/18
9780
如何删除一个文件名以分号开头的文件
该文讲述了如何删除一个文件名以分号开头的文件。作者通过在Linux上使用VIM编辑器不小心创建了一个文件名以分号开头的文件,尝试使用多种方法删除该文件,包括使用rm命令和转义字符。最后,作者通过在rm命令中添加转义字符成功删除了该文件。
雷大亨
2018/01/01
2.3K0
vscode 设置打开新文件不覆盖前一个窗口
vscode 打开文件时如果会覆盖掉原来窗口中打开的未做修改的文件,非常影响使用体验
Leophen
2020/11/03
6.7K0
vscode 设置打开新文件不覆盖前一个窗口
/var/spool/postfix/maildrop/ 中有大量的文件
今天查看硬盘剩余的容量,发现‘/’目录下占用了大量的空间;可我在这个目录下面没有放什么东西;仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件。怎么会有这么多的文件呢,先删除。
双面人
2019/04/10
1.7K0
Python压缩新文件到已有ZIP文件
本文要点在于使用Python标准库zipfile创建压缩文件时,如果使用'a'模式时,可以追加新内容。 from zipfile import ZipFile from os import listdir from os.path import isfile, isdir, join def addFileIntoZipfile(srcDir, fp): #遍历该文件夹中所有文件 for subpath in listdir(srcDir): subpath = join(srcDir,
Python小屋屋主
2018/04/16
1.2K0
Python文件名后缀_python获取目录下所有文件的文件名
使用 os.path.splitext(file)[0] 可获得 文件名 。 使用 os.path.splitext(file)[-1] 可获得以 . 开头的 文件后缀名 。
全栈程序员站长
2022/11/09
4.6K0
当一个文件中有个证书链
公众号是真的好久没更新了,实在抱歉,过年之后到现在终于觉得开始清闲了一下,最近一直在整理在日本时候的照片,主要是最后一个月末赶上了樱花季,得以观赏了樱花盛开的画面,之后跟大家分享一下。
琉璃康康
2022/04/19
5350
两个数组合并成一个数组 请把两个数组 ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和 ['A', 'B', 'C', 'D'],合并为 ['...
方案1 let arr1 = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] let arr2 = ['A', 'B', 'C', 'D'] arr2 = arr2.map(v => `${v}3`); let arr3=[...arr1, ...arr2].sort().map(v => v.replace('3', '')) console.log(arr3) 方案2 let arr1 = ['A1', 'A2', 'B1', 'B
刘嘿哈
2022/10/25
2K0
算法练习(20) - 将一个交错数据合并为一个一维数组
编程题(20分钟) 将一个交错数据合并为一个一维数组 输入: strJaggedArray[][], 由多个一维数组(长度不定,个数不定)组成的交错数组 输出: strArray[], 由strJaggedArray[r][c]中的元素以"&"为分隔符拼合而成, 是strJaggedArray中数组元素的无重复组合(不考虑顺序)
惊羽-布壳儿
2022/06/15
6140
linux的文件名的长度限制_linux补全文件名
编写本文档,主要目的是为了验证linux下文件数、目录数、文件名长度的各种限制二、文档内容
全栈程序员站长
2022/11/01
5.9K0
Java将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成
By CaesarChang 合作: root121toor@gmail.com ~关注我 带你看更多精品技术和面试必备 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 我们设定一个哨兵节点 prehead 和新链表,让prehead等于新链表,我们维护一个 pre,我们需要做的是调整它的 next 指针。然后,我们重复以下过程,直到 l1 或者 l2 指向了 null :如果 l1 当前节点的值小于等于 l2
CaesarChang张旭
2021/01/26
1.6K0
点击加载更多

相似问题

Python -将csv文件合并为一个共同轴

32

熊猫将表合并为两个共同的列

24

将“”改为“。文件名中有"_“

12

将多个文件合并为一个文件,包括文件名。

40

将新文件名传回jquery

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文