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

中国网站建设公司有哪些网络营销有什么方式

中国网站建设公司有哪些,网络营销有什么方式,做一个网站一般要多少钱,做网站好还是app好文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题应用并查集的理论直接就可以解决:【算法与数据结构】回溯算法、贪心算法、动态规划、图…

文章目录

  • 一、题目
  • 二、解法
  • 三、完整代码

所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。

一、题目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、解法

  思路分析:本题应用并查集的理论直接就可以解决:【算法与数据结构】回溯算法、贪心算法、动态规划、图论(笔记三)。
  程序如下

class Solution {
private:int n = 200005;		// 节点数量 200000vector<int> father = vector<int>(n, 0);	// C++里面的一种数据结构// 并查集初始化void init() {for (int i = 0; i < n; i++) {father[i] = i;}}// 并查集里寻根的过程int find(int u) {return u == father[u] ? u : father[u] = find(father[u]);    // 路径压缩}// 判断 u 和 v是否找到同一个根bool isSame(int u, int v) {u = find(u);v = find(v);return u == v;}// 将v->u 这条边加入并查集void join(int u, int v) {u = find(u); // 寻找u的根v = find(v); // 寻找v的根if (u == v) return; // 如果发现根相同,则说明在一个集合,不用两个节点相连直接返回father[v] = u;      // 根不同,则令v的父节点为u}
public:bool validPath(int n, vector<vector<int>>& edges, int source, int destination) {init();for (int i = 0; i < edges.size(); i++) {join(edges[i][0], edges[i][1]);}return isSame(source, destination);}
};

复杂度分析:

  • 时间复杂度: O ( n + m × α ( m ) ) O(n+m \times \alpha(m)) O(n+m×α(m)),其中 n n n是图中的顶点数, m m m为图中边的数目(edges大小), α \alpha α是反阿克曼函数。并查集的初始化需要花费 O ( n ) O(n) O(n)的时间,图中边的查询与合并的单次操作时间复杂度是 O ( α ( m ) ) O(\alpha(m)) O(α(m)),主函数中一共需要 m m m次。因此最终的时间复杂度为 O ( n + m × α ( m ) ) O(n+m \times \alpha(m)) O(n+m×α(m))
  • 空间复杂度: O ( n ) O(n) O(n),主要用来开辟father数组。

三、完整代码

# include <iostream>
# include <vector>
using namespace std;class Solution {
private:int n = 200005;		// 节点数量 200000vector<int> father = vector<int>(n, 0);	// C++里面的一种数据结构// 并查集初始化void init() {for (int i = 0; i < n; i++) {father[i] = i;}}// 并查集里寻根的过程int find(int u) {return u == father[u] ? u : father[u] = find(father[u]);    // 路径压缩}// 判断 u 和 v是否找到同一个根bool isSame(int u, int v) {u = find(u);v = find(v);return u == v;}// 将v->u 这条边加入并查集void join(int u, int v) {u = find(u); // 寻找u的根v = find(v); // 寻找v的根if (u == v) return; // 如果发现根相同,则说明在一个集合,不用两个节点相连直接返回father[v] = u;      // 根不同,则令v的父节点为u}
public:bool validPath(int n, vector<vector<int>>& edges, int source, int destination) {init();for (int i = 0; i < edges.size(); i++) {join(edges[i][0], edges[i][1]);}return isSame(source, destination);}
};int main() {int n = 3, source = 0, destination = 2;vector<vector<int>> edges = { {0, 1}, {1, 2}, {2, 0} };Solution s1;bool result = s1.validPath(n, edges, source, destination);cout << result << endl;system("pause");return 0;
}

end

http://www.dtcms.com/wzjs/111571.html

相关文章:

  • 徐州网站运营百度店铺免费入驻
  • 成都兼职做网站广州百度推广外包
  • 成都建设招标网站首页超级外链在线发布
  • 西安免费做网站价格网络营销策略案例
  • 代做视频的网站好磁力王
  • 新乡辉县网站建设优化营商环境个人心得
  • 自己如何做独立网站郑州seo服务
  • 深圳龙岗做网站潍坊百度关键词优化
  • 青羊区网站设计深圳网
  • 在线观看免费网站最佳搜索引擎磁力
  • 设计与制作网站营销推广软文案例
  • 广州最发达的五个区优化方法
  • 茂名网站制作网页怎么免费建公司网站
  • 如何做网站赚钱免费正能量erp软件下载
  • 同ip网站过多是空间的原因还是域名的原因百度权重是怎么来的
  • 保定网站建设百度客服人工电话
  • 广告网站素材免费发布信息网站大全
  • 营销型科技网站建设百度网盘私人资源链接
  • 林芝网站建设谷歌浏览器官网下载
  • 北京黄村专业网站建设价钱地推任务网
  • 珠海企业网站建设价格北京网站提升排名
  • 公司部门解散保定seo网站推广
  • 品牌网站怎么建立国际新闻头条今日国际大事
  • 360做网站网盘资源大全
  • 东莞建设企业网站河南自助建站seo公司
  • seo网站有哪些蚂蚁bt
  • 深圳龙岗招聘网网站优化推广seo公司
  • 建网站和做微信哪个好企业网站seo哪里好
  • dw怎么用div css做网站做关键词推广
  • 英文网站建设需要准备什么百度pc端入口