mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
Update 0454.四数相加II.md,规范代码格式
This commit is contained in:
@ -418,20 +418,19 @@ public int FourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
|
||||
// 哈希表大小
|
||||
const int HASH_SIZE = 101;
|
||||
|
||||
typedef struct node
|
||||
{
|
||||
typedef struct node {
|
||||
int val;
|
||||
int count;
|
||||
struct node *next;
|
||||
}node, *HashMap;
|
||||
} node, *HashMap;
|
||||
|
||||
// 哈希表插入
|
||||
void hash_insert(HashMap hashmap[], int val){
|
||||
void hash_insert(HashMap hashmap[], int val) {
|
||||
int idx = val < 0 ? (-val) % HASH_SIZE : val % HASH_SIZE, count = 0;
|
||||
node *p = hashmap[idx];
|
||||
while (p->next != NULL) {
|
||||
p = p->next;
|
||||
if (p->val == val){
|
||||
if (p->val == val) {
|
||||
(p->count)++;
|
||||
return;
|
||||
}
|
||||
@ -445,10 +444,10 @@ void hash_insert(HashMap hashmap[], int val){
|
||||
}
|
||||
|
||||
// 哈希表查找
|
||||
int hash_search(HashMap hashmap[], int val){
|
||||
int hash_search(HashMap hashmap[], int val) {
|
||||
int idx = val < 0 ? (-val) % HASH_SIZE : val % HASH_SIZE;
|
||||
node *p = hashmap[idx];
|
||||
while (p->next != NULL){
|
||||
while (p->next != NULL) {
|
||||
p = p->next;
|
||||
if (p->val == val) return p->count;
|
||||
}
|
||||
@ -458,23 +457,23 @@ int hash_search(HashMap hashmap[], int val){
|
||||
int fourSumCount(int* nums1, int nums1Size, int* nums2, int nums2Size, int* nums3, int nums3Size, int* nums4, int nums4Size){
|
||||
// 初始化哈希表
|
||||
HashMap hashmap[HASH_SIZE];
|
||||
for (int i = 0; i < HASH_SIZE; i++){
|
||||
for (int i = 0; i < HASH_SIZE; i++) {
|
||||
hashmap[i] = malloc(sizeof(node));
|
||||
hashmap[i]->next = NULL;
|
||||
}
|
||||
|
||||
// 统计两个数组元素之和的负值和出现的次数,放到哈希表中
|
||||
int count = 0, num;
|
||||
for (int i=0; i<nums1Size; i++){
|
||||
for(int j=0; j<nums2Size; j++){
|
||||
for (int i = 0; i < nums1Size; i++) {
|
||||
for(int j = 0; j < nums2Size; j++) {
|
||||
num = - nums1[i] - nums2[j];
|
||||
hash_insert(hashmap, num);
|
||||
}
|
||||
}
|
||||
|
||||
// 统计另外两个数组元素之和,查找哈希表中对应元素的出现次数,加入总次数
|
||||
for (int i=0; i<nums3Size; i++){
|
||||
for(int j=0; j<nums4Size; j++){
|
||||
for (int i = 0; i < nums3Size; i++) {
|
||||
for(int j = 0; j < nums4Size; j++) {
|
||||
num = nums3[i] + nums4[j];
|
||||
count += hash_search(hashmap, num);
|
||||
}
|
||||
|
Reference in New Issue
Block a user