当前位置: 首页 > wzjs >正文

阿里网站服务器东莞塘厦招聘网最新招聘

阿里网站服务器,东莞塘厦招聘网最新招聘,网站建设公司发展历程,东营市垦利区胜坨填建设站的网站一、回顾代码随想录算法训练营第七天 1.454四数相加 1.1解题思路 利用哈希表将四层for转换为两层for,寻找对应的元素是否在map中 关键就是四层for循环太复杂了,时空消耗太大了,所以最好退化为两层for循环,也就是将四数之和变为…

一、回顾代码随想录算法训练营第七天

1.454四数相加

1.1解题思路

利用哈希表将四层for转换为两层for,寻找对应的元素是否在map中

关键就是四层for循环太复杂了,时空消耗太大了,所以最好退化为两层for循环,也就是将四数之和变为两数之和,先将前两个数的和统计到map中,初始化map;然后遍历后两个数组得到c + d的和,因为a + b = 0 - c - d;所以就在map中找有没有key是 0 - c - d的,如果有的话,那么就统计这个key对应的value,统计到总和中即可,最终返回这个总和

1.2代码

class Solution {
public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {unordered_map<int, int> umap;for(int a : nums1) {for(int b : nums2) {umap[a + b]++;}}int count1 = 0;for(int c : nums3) {for(int d : nums4) {if(umap.find(0 - c - d) != umap.end()) {count1 += umap[0 - c - d];}}}return count1;}
};

2.15三数之和

关键要理解双指针法,因为这里有去重的可能性,所以要考虑到位出现重复如何处理。去重:排序,遇到相同的元素就跳过。

注意边界条件,一切针对left和right的行为都要基于left < right这个条件,否则执行left++,right--的时候,会出现left和right越界的情况。

3.18四数之和

和三数之和思路一样

积累语法

if((long) nums[i] + nums[j] + nums[left] + nums[right] < target) left++;

这里的(long)将nums[i]操作数类型强制转换为long,以防止数据太大无法处理。同时编译器将会将所有的剩余其他操作数同样也隐式转换为long类型。 

二、P1328生活大爆炸版石头剪刀布

1.解题思路

这些题目真的是完全没有算法,全靠模拟,可以定义两个数组元素是重复值的数组,将别的元素都进行编码,并且编码定义胜负规则。

1.根据规律数组取余定义所有的数组

2.定义胜负规则

3.进行数组的遍历,同时求双方的得分。

2.代码

#include <iostream>
#include <vector>
using namespace std;int main() {int N, NA, NB;cin >> N >> NA >> NB;vector<int> guilvA(NA, 0);vector<int> guilvB(NB, 0);for(int i = 0; i < NA; i++) {cin >> guilvA[i];}for(int j = 0; j < NB; j++) {cin >> guilvB[j];}int sumA = 0;int sumB = 0;// 给数组赋重复变化的元素的值vector<int> A(N, 0);vector<int> B(N, 0);for(int i = 0; i < N; i++) {A[i] = guilvA[i % NA];B[i] = guilvB[i % NB];}for(int i = 0; i < N; i++) {if(A[i] == B[i]) continue;if(A[i] == 0 && B[i] == 1) sumB++;if(A[i] == 0 && B[i] == 2) sumA++;if(A[i] == 0 && B[i] == 3) sumA++;if(A[i] == 0 && B[i] == 4) sumB++;if(A[i] == 1 && B[i] == 0) sumA++;if(A[i] == 1 && B[i] == 2) sumB++;if(A[i] == 1 && B[i] == 3) sumA++;if(A[i] == 1 && B[i] == 4) sumB++;if(A[i] == 2 && B[i] == 0) sumB++;if(A[i] == 2 && B[i] == 1) sumA++;if(A[i] == 2 && B[i] == 3) sumB++;if(A[i] == 2 && B[i] == 4) sumA++;if(A[i] == 3 && B[i] == 0) sumB++;if(A[i] == 3 && B[i] == 1) sumB++;if(A[i] == 3 && B[i] == 2) sumA++;if(A[i] == 3 && B[i] == 4) sumA++;if(A[i] == 4 && B[i] == 0) sumA++;if(A[i] == 4 && B[i] == 1) sumA++;if(A[i] == 4 && B[i] == 2) sumB++;if(A[i] == 4 && B[i] == 3) sumB++;}cout << sumA << ' ' << sumB;return 0;
}
http://www.dtcms.com/wzjs/572846.html

相关文章:

  • 自己做的网站把密码改忘了怎么办全国职工素质建设工程专题网站
  • 网站开发常见模块公众号修改wordpress
  • 发卡网站建设7az网站宣传与推广的指导思想
  • 上海专业网站建设报价广州智能模板建站
  • 苏州做学校网站的小说网站怎么做词
  • wap小说网站源码聊城建设局网站
  • 响应式自适应网站模板家居网站建设
  • 学网站建设哪里好wordpress 标签云集
  • 沈阳市网站制作网站建设与管理 自考
  • 厦门建站系统建设月子会所网站建设方案
  • 常州优化网站北京 企业网站开发
  • 惠州做网站开发发布做网站需求qq群
  • nas做流媒体网站免费代理招商网
  • 微信24小时网站建设网站开发难点
  • 做电影网站都需要什么手续网站建设报价 下载
  • 网站集约化建设的优点旅游网站总结
  • 大型网站tag标签 索引做投资的网站
  • 企业网站建设网站制作网站域名过期后续费多长时间生效
  • 网站开发过程 知乎清远做网站哪家好
  • 医院网站建设基本功能农产品网站管理员怎么做
  • 深圳电梯广告制作公司网站合肥建筑网站大全
  • 推荐家居企业网站建设设计网站包含的功能模块
  • 企业网站的推广阶段和特点乐平网站建设咨询
  • 哪个网站可做密丸优秀校园网站
  • 画册做的比较好的网站广州番禺专业做网站
  • 网站刷收益是怎么做的做cpa联盟必须要有网站吗
  • 书店网站建设需求分析调研表戴尔网站建设成功
  • 互联网网站制作个人网站的内容
  • 淘宝网站制作教程阿里巴巴网站的搜索引擎优化案例
  • 访问不了服务器的网站海淀区手机网站设计服务6