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

网站群建设调研报告块链友情链接平台

网站群建设调研报告,块链友情链接平台,网站推广方法的费用,医疗网站怎么做优化463.岛屿的周长 分析: 1.陆地的旁边是海面,存在周长2.陆地在边界上,存在周长 思路一:深度优先遍历 1.通过记录访问情况来访问数据 class Solution { public:int direct[4][2]{{0,1},{0,-1},{1,0},{-1,0}};int res0;void dfs(…

463.岛屿的周长

分析:
  • 1.陆地的旁边是海面,存在周长
  • 2.陆地在边界上,存在周长
思路一:深度优先遍历
  • 1.通过记录访问情况来访问数据
class Solution {
public:int direct[4][2]={{0,1},{0,-1},{1,0},{-1,0}};int res=0;void dfs(vector<vector<int>>&grid,vector<vector<bool>>&visted,int x,int y){for(int i=0;i<4;i++){int nextx=x+direct[i][0];int nexty=y+direct[i][1];if(nextx>=0 && nextx<grid.size() && nexty>=0 && nexty<grid[0].size()){if(!visted[nextx][nexty]){if(grid[nextx][nexty]==0) res++;//那一边是海面else{visted[nextx][nexty]=true;dfs(grid,visted,nextx,nexty);}}}else res++;//那一边是边界}}int islandPerimeter(vector<vector<int>>& grid) {int n=grid.size(),m=grid[0].size();vector<vector<bool>>visted(n,vector<bool>(m,false));for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(!visted[i][j] && grid[i][j]==1){visted[i][j]=true;dfs(grid,visted,i,j);}}}return res;}
};

1971.寻找图中是否存在路径

分析:
  • 寻找两个节点间是否存在路径,就是寻找两个节点是否在同一集合中
思路一:并查集
  • 1.初始化集合
  • 2.把各个节点进行连接
  • 3.寻根判断
class Solution {
public:int n=200005;vector<int>father=vector<int>(n,0);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]);}bool isSame(int u,int v){u=find(u);v=find(v);return u==v;}void join(int u,int v){//连接两个节点u=find(u);v=find(v);if(u==v) return;//说明已经存在连接father[u]=v;//进行连接}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);//寻根判断}
};

684.冗余连接

分析:
  • 1.出现两个节点在同一集合,即有冗余
思路一:并查集
  • 1.初始化
  • 2.边添加边判断
class Solution {
public:vector<int>father=vector<int>(1001,0);void init(){for(int i=0;i<1001;i++) father[i]=i;}int find(int u){//寻根return u==father[u]?u:father[u]=find(father[u]);}bool isSame(int u,int v){//判断是否同一集合u=find(u);v=find(v);if(u==0 && v==0) return false;return u==v;}void join(int u,int v){//连接节点u=find(u);v=find(v);if(u==v) return;father[u]=v;}vector<int> findRedundantConnection(vector<vector<int>>& edges) {init();//初始化!!!int n=edges.size();for(int i=0;i<n;i++){if(isSame(edges[i][0],edges[i][1])) return edges[i];//出现两个节点在同一集合else join(edges[i][0],edges[i][1]);}return vector<int>();}
};

685.冗余连接 || 

分析:
  • 只存在一条冗余边,有三种情况:

  • 1.入度可以通过遍历获取
  • 2.环可以通过判断两节点是否在同一集合获取 
思路一:并查集
  • 1.先获取所有节点的入度
  • 2.存在节点入度为2:
    • 倒序找出入度为 2 的节点边
    • 节点边不考虑时,判断图是否为树
  • 3.不存在节点入度为2:
    • 判断删除那一条边存在环,直接返回
class Solution {
public:static const int N=1010;int father[N];int n;void init(){//初始化for(int i=1;i<=n;++i) father[i]=i;}int find(int u){//寻根return u==father[u]?u:father[u]=find(father[u]);}bool same(int u,int v){//判断是否在同一集合u=find(u);v=find(v);return u==v;}void join(int u,int v){//连接两个节点u=find(u);v=find(v);if(u==v) return;father[u]=v;}vector<int> getMoveEdge(const vector<vector<int>>&edges){//获取要删除的冗余边init();for(int i=0;i<n;i++){if(same(edges[i][0],edges[i][1])) return edges[i];//已经存在同一集合,所以此线冗余join(edges[i][0],edges[i][1]);}return {};//不存在冗余}bool judge(const vector<vector<int>>&edges,int deleteEdge){//判断删除该边是否是树init();for(int i=0;i<n;i++){if(i==deleteEdge) continue;//删除就不考虑if(same(edges[i][0],edges[i][1])) return false;//仍然存在同一集合,绝对不是树join(edges[i][0],edges[i][1]);}return true;}vector<int> findRedundantDirectedConnection(vector<vector<int>>& edges) {n=edges.size();int inDegree[N]={0};vector<int>mid;for(int i=0;i<n;i++) inDegree[edges[i][1]]++;//记录入度for(int i=n-1;i>=0;i--){//从右侧开始记录if(inDegree[edges[i][1]]==2) mid.push_back(i);//记录入度为2的节点的下标}if(mid.size()>0){//存在入度为2的节点if(judge(edges,mid[0])) return edges[mid[0]];//最右边的边不考虑,图为树else return edges[mid[1]];}return getMoveEdge(edges);}
};

http://www.tj-hxxt.cn/news/5431.html

相关文章:

  • 做书的网站有哪些内容快手流量推广网站
  • 织梦网站模板如何给企业做网络推广
  • 做的网站怎么一搜就能出来seocms
  • 漳州做网站多少钱青岛seo全网营销
  • 百度不收录什么网站吗seo精准培训课程
  • 免费品牌网站制作免费代理浏览网页
  • 外贸soho建站百度系app
  • 华仁建设网站友情链接是外链吗
  • 自己做彩票网站简单吗百度seo排名教程
  • java编程做网站深圳英文站seo
  • 广东的一起做网站网络营销方式哪些
  • 周口微网站制作河北百度推广seo
  • 百度图片点击变网站是怎么做的网站监测
  • 网站开发的3个阶段百度搜索推广创意方案
  • 请将网站首页底部的备案号整合营销什么意思
  • 做打鱼网站需要多少钱有没有购买链接
  • 有个网站叫设计什么网盘网页版
  • 行业门户型网站制作seo站长工具查询
  • 织梦dede漫画网站源码邪恶漫画内涵搞笑漫画织梦模板源码整站网站优化费用报价明细
  • 营销型网站设计论文中国没有限制的搜索引擎
  • 天津的最新疫情seo入口
  • 做网站电话广告联盟
  • 网站开发视频下载网络营销课程介绍
  • win7做本地网站今日热搜前十名
  • 来宾建设网站巨量算数
  • 网站制作合肥北京百度公司地址在哪里
  • html5网站开发案例网络营销心得体会1000字
  • 网站建设布局设计seo优化方法
  • 杭州做网站套餐可以打广告的平台
  • 公司网站域名做邮箱网络营销渠道有哪三类