C语言 | Leetcode C语言题解之第454题四数相加II

news/2024/10/4 21:20:46 标签: C语言, Leetcode, 题解

题目:

题解

struct hashTable {
    int key;
    int val;
    UT_hash_handle hh;
};

int fourSumCount(int* A, int ASize, int* B, int BSize, int* C, int CSize, int* D, int DSize) {
    struct hashTable* hashtable = NULL;
    for (int i = 0; i < ASize; ++i) {
        for (int j = 0; j < BSize; ++j) {
            int ikey = A[i] + B[j];
            struct hashTable* tmp;
            HASH_FIND_INT(hashtable, &ikey, tmp);
            if (tmp == NULL) {
                struct hashTable* tmp = malloc(sizeof(struct hashTable));
                tmp->key = ikey, tmp->val = 1;
                HASH_ADD_INT(hashtable, key, tmp);
            } else {
                tmp->val++;
            }
        }
    }
    int ans = 0;
    for (int i = 0; i < CSize; ++i) {
        for (int j = 0; j < DSize; ++j) {
            int ikey = -C[i] - D[j];
            struct hashTable* tmp;
            HASH_FIND_INT(hashtable, &ikey, tmp);
            if (tmp != NULL) {
                ans += tmp->val;
            }
        }
    }
    return ans;
}

http://www.niftyadmin.cn/n/5690333.html

相关文章

初始爬虫11

1.斗鱼selenium爬取 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By import timeclass Douyu(object):def __init__(self):self.url https://www.douyu.com/directory/allself.driver webdriver.Chrome()self.driver…

vscode配置golang

1.安装golang解释器 从网址https://go.dev/dl/下载对应的golang解释器 2.配置环境 Extensions中搜索安装go 2.配置settings.json {"go.autocompleteUnimportedPackages": true,"go.gocodeAutoBuild": false,"explorer.confirmPasteNative"…

裸金属服务器与虚拟机、物理机区别

裸金属服务器&#xff1a;作为一种物理服务器架构&#xff0c;其显著特征在于其直接运行于物理硬件之上&#xff0c;摒弃了虚拟化层的介入。此设计旨在提供纯粹的计算能力&#xff0c;确保所有计算资源均直接服务于用户的应用&#xff0c;从而实现了计算效率与性能的显著提升。…

什么是虚拟化?| 裸机 vs 虚拟机 vs 容器

“云计算&#xff01;DevOps&#xff01;Docker&#xff01;Kubernetes&#xff01;……” 如果您是一名软件工程师&#xff0c;还没有遇到过以上这些流行词&#xff0c;那么您可能一直生活在与世隔绝的地方。 所有这些技术都与同一样东西有关&#xff0c;对&#xff0c;就是…

QT系统学习篇(5)-信号与槽

1、信号槽的优点 信号槽的优点&#xff0c;松散耦合&#xff0c;信号发送端和接收端本身没有关联&#xff0c;通过connect连接将两端耦合在一起。 myPushButton *btn3new myPushButton(this);btn3->setText("我的按钮");btn3->move(200,0);//发送者 信号 &…

<<迷雾>> 第6章 加法机的诞生(3)--三比特加法电路 示例电路

用全加器组成一个三比特加法电路 info::操作说明 鼠标单击开关切换开合状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch03-02-3-bit-adder.txt 原图 加法机的简单图示 info::操…

市场中的新兴力量与未来发展

在当前瞬息万变的全球金融市场中&#xff0c;期货交易以其高杠杆与灵活性&#xff0c;吸引了越来越多的投资者参与其中。大粤期货作为中国期货行业的新兴力量&#xff0c;凭借其创新的交易平台、广泛的产品线及专业的风险管理服务&#xff0c;迅速在市场中崭露头角。本文将介绍…

websockets库使用(基于Python)

主要参考资料&#xff1a; 【Python】websockets库的介绍及用法: https://blog.csdn.net/qq_53871375/article/details/135920231 python模块websockets&#xff0c;浏览器与服务器之间的双向通信: https://blog.csdn.net/randy521520/article/details/134752051 目录 websocke…