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

单位的网站怎样设计才美观企业邮箱购买价格

单位的网站怎样设计才美观,企业邮箱购买价格,大兴网站开发,广西住房城乡建设培训中心打卡记录 数组中两个数的最大异或值&#xff08;位运算&#xff09; 链接 二进制位上从高位向低位进行模拟&#xff0c;看数组中是否有满足此情况的数字。具体题解 class Solution { public:int findMaximumXOR(vector<int>& nums) {int mx *max_element(nums.be…

打卡记录

在这里插入图片描述


数组中两个数的最大异或值(位运算)

链接

二进制位上从高位向低位进行模拟,看数组中是否有满足此情况的数字。具体题解

class Solution {
public:int findMaximumXOR(vector<int>& nums) {int mx = *max_element(nums.begin(), nums.end());int max_bit = 0, mask = 0, ans = 0;for (int i = 0; i != 32 && (1 << i) <= mx; i++) max_bit = i;unordered_set<int> st;for (int i = max_bit; i >= 0; --i) {st.clear();mask |= 1 << i;int new_ans = ans | (1 << i);for (int x : nums) {x &= mask;if (st.count(new_ans ^ x)) {ans = new_ans;break;}st.insert(x);}}return ans;}
};

四数之和(双指针)

链接

排列数组之后,遍历前两个数字的选取,对后两个数字的选取使用双指针算法,将 O ( n 4 ) O(n^4) O(n4) 优化为 O ( n 3 ) O(n^3) O(n3),类似于三数之和的算法思路。

class Solution {
public:vector<vector<int>> fourSum(vector<int>& nums, int target) {sort(nums.begin(), nums.end());vector<vector<int>> ans;int n = nums.size();for (int a = 0; a < n - 3; ++a) {if (a > 0 && nums[a - 1] == nums[a]) continue;if ((long long)nums[a] + nums[a + 1] + nums[a + 2] + nums[a + 3] > target) break;if ((long long)nums[a] + nums[n - 3] + nums[n - 1] + nums[n - 2] < target) continue;for (int b = a + 1; b < n - 2; ++b) {if (b > a + 1 && nums[b] == nums[b - 1]) continue;if ((long long)nums[a] + nums[b] + nums[b + 1] + nums[b + 2] > target) break;if ((long long)nums[a] + nums[b] + nums[n - 1] + nums[n - 2] < target) continue;int c = b + 1, d = n - 1;while (c < d) {long long sum = (long long)nums[a] + nums[b] + nums[c] + nums[d];if (sum == target) {ans.push_back({nums[a], nums[b], nums[c++], nums[d--]});while (c < d && nums[c] == nums[c - 1]) c++;while (c < d && nums[d] == nums[d + 1]) d--;}else if (sum > target) d--;else c++;}}}return ans;}
};

有效三角形的个数(双指针)

链接

由于数组排列,所以从左到右选取 a, b, c 三点,必有 a <= b <= c,则只需要满足 a + b > c 这个条件即可构成有效三角形。类似于三数之和的思路,这里我们将 c 点作为循环遍历的点,a 与 b 的选取使用双指针来进行,若使用 a 作为循环遍历的点,则会导致 nums[a] + nums[b] > nums[c] 情况下b++,c–都会导致结果依旧为
nums[a] + nums[b] > nums[c] 。

class Solution {
public:int triangleNumber(vector<int>& nums) {int n = nums.size(), ans = 0;if (n < 3) return ans;sort(nums.begin(), nums.end());for (int c = 2; c < n; ++c) {int a = 0, b = c - 1;while (a < b) {if (nums[a] + nums[b] > nums[c]) {ans += b - a;b--;}else a++;}}return ans;}
};
http://www.yayakq.cn/news/25623/

相关文章:

  • 网站的开发环境是什么设计素材网站模板
  • 记事本做网站的代码社交网站开发 转发
  • 3d建模网站天津建设工程信息网专家
  • 酒吧dj做歌网站密山网站
  • 把自己做的网站传到网上直通车关键词优化
  • 河北 建设厅网站首页惠民县建设网站
  • 专业制作网站 地摊肥城网站制作
  • 做食品外贸选哪个网站好太原建站模板源码
  • 一个网站大概多少页面wordpress建站vip全站教程
  • 有经验的邯郸网站建设福州网站建设哪里有
  • 做公司网站要多少钱网站备案需要多少钱
  • 网站公司市场营销方案阜阳建设网站公司
  • 各种手艺培训班做网站seo
  • 城阳做网站的公司南海网站智能推广
  • 网站建设的重点是什么网站点击量有什么用
  • 网站建设买了服务器后怎么做动态按钮 wordpress插件
  • 海南三亚做网站网站开发工具 晴天娃娃
  • 自助建站系统代理上海网站免费制作
  • 四川建筑工程网阳东网站seo
  • ui界面图片济南网站seo外包
  • 制作免费的网站wordpress网站语言
  • 网站建设方案书阿里云备案网站开发市场情况
  • 怎么样建设一个网站有名的seo外包公司
  • 12306网站建设多少钱互联网平台推广是什么意思
  • 哪个免费自助建站系统最好用建设手机银行
  • 电子商务网站开发形式选择网站首页的功能
  • c 网站开发数据库广告公司网站模板
  • 东莞网站建设咨询公wordpress 5.2 5.3
  • 大连网站设计菲尔莱斯保健品 东莞网站建设
  • 上海做推广网站培训教育类网站模板下载