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

做网站用html还是python好seo没什么作用了

做网站用html还是python好,seo没什么作用了,杭州网站建设工作室,网站建设差打不开2023-08-23每日一题 一、题目编号 1782. 统计点对的数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成,其中 edges[i] [ui, vi] 表示 ui 和 vi 之间有一…

2023-08-23每日一题

一、题目编号

1782. 统计点对的数目

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成,其中 edges[i] = [ui, vi] 表示 ui 和 vi 之间有一条无向边。同时给你一个代表查询的整数数组 queries 。

第 j 个查询的答案是满足如下条件的点对 (a, b) 的数目:

  • a < b
  • cnt 是与 a 或者 b 相连的边的数目,且 cnt 严格大于 queries[j] 。

请你返回一个数组 answers ,其中 answers.length == queries.length 且 answers[j] 是第 j 个查询的答案。

请注意,图中可能会有 重复边

示例 1:
在这里插入图片描述
示例 2:
在这里插入图片描述
提示:

  • 2 <= n <= 2 * 104
  • 1 <= edges.length <= 105
  • 1 <= ui, vi <= n
  • ui != vi
  • 1 <= queries.length <= 20
  • 0 <= queries[j] < edges.length

四、解题代码

class Solution {unordered_map<int, int> cnt;int find(int left, int right, vector<int>& arr, int num){int ans = -1; while(left <= right){int mid = ((right - left) >> 1) + left;if(arr[mid] > num){ans = mid;right = mid - 1;                } else{left = mid + 1; }}return ans;}public:void swap(int &x, int &y){int temp = x;x = y;y = temp;}vector<int> countPairs(int n, vector<vector<int>>& edges, vector<int>& queries) {vector<int> degree(n);for(int i = 0; i < edges.size(); ++i){int x = edges[i][0] - 1;int y = edges[i][1] - 1;degree[x]++;degree[y]++;if(x > y){swap(x, y);}cnt[x * n + y]++;}vector<int> arr = degree;vector<int> ans;sort(arr.begin(), arr.end());        for(int i = 0; i < queries.size(); ++i){int res = 0;for(int j = 0; j < n; ++j){int index =  find(j + 1, n - 1, arr, queries[i] - arr[j]);if(index == -1){continue;}res += (n - index);}for(auto iter = cnt.begin(); iter != cnt.end(); ++iter){int val = iter->first;int x = val / n;int y = val % n;int num = iter->second;if(degree[x] + degree[y] > queries[i] && degree[x] + degree[y] - num <= queries[i]){res--;}}ans.push_back(res);}return ans;}
};

五、解题思路

(1) 首先先统计一下每一个点的度数,然后用哈希表记录点x和点y共边的条数,那么与点x相连的边或者与点y相连的边的和为度数之和减去共边条数。

(2) 然后将度数在放在一个新的数组arr中,并且从小到大排序。

(3) 为了方便计算,将点的下标由1 ~ n改变成0 ~ n - 1。

(4) 然后遍历查询数组,对于每一次查询,先遍历点从0 ~ n - 1,对于每次遍历的点的下标为j,则该点的度数为arr[j],因为arr从小到大排序的,所以再用二分查找从j ~ n - 1中找到一个下标最小的点index,且满足arr[j] + arr[index] > 查询值。那么此时数对的数量为n - index,加上即可。

(5) 最后不要忘记减去共边的情况。如果度数之和满足条件但是减去共边之后不满足条件,就需要剔除。

(6) 最后返回结果数组即可。

http://www.mmbaike.com/news/46092.html

相关文章:

  • 基于web的资源共享网站开发视频网站设计公司苏州
  • 陕西建设网官方网站如何引流推广产品
  • 服务类型网站开发需要哪些技术网站排名靠前的方法
  • 网络营销工具的特点湖州seo排名
  • 网站栏目代码如何在百度搜索排名靠前
  • 关于推进网站集约化建设的讲话营销软文500字范文
  • java电商网站开发开题报告朋友圈推广广告
  • 铜陵app网站做营销招聘代发软文
  • 资源专业网站优化排名俄罗斯搜索引擎
  • 网络科技有限公司网站免费网站生成器
  • 珠江网站建设云浮网站设计
  • 深圳那家做APP网站的最好提供seo顾问服务适合的对象是
  • 邢台论坛贴吧关键词排名seo
  • 小视频做网站怎么赚钱独立站推广
  • 2021年4月重大新闻事件摘抄seo页面链接优化
  • 花都移动网站建设免费永久个人域名注册
  • 四川省建设工程质量安全监督总站网站网站开发公司哪家好
  • 河南新乡做网站公司nba篮网最新消息
  • 在国外做热情网站的风险长沙官网seo收费标准
  • 如何做论坛网站 知乎网上永久视频会员是真的吗
  • 配置 tomcat 做网站百度网址大全官网
  • 郑州上街网站建设公司衡阳seo优化报价
  • 做网站宁波网站推广的平台
  • 我的世界做皮肤的网站google官网浏览器
  • 深圳做电商网站怎样推广自己的商城
  • 微信公众账号申请注册广州seo推广公司
  • 深圳布吉最新消息seo代运营
  • 自己做网站的劣势淘宝运营主要做些什么
  • 有没有做网页的兼职网站网络营销文案策划都有哪些
  • wordpress新增数据字段及展示直通车关键词优化口诀