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

包头移动的网站建设郑州seo地址

包头移动的网站建设,郑州seo地址,二级域名网站,外贸资源网1042. 不邻接植花 难度中等198 有 n 个花园,按从 1 到 n 标记。另有数组 paths ,其中 paths[i] [xi, yi] 描述了花园 xi 到花园 yi 的双向路径。在每个花园中,你打算种下四种花之一。 另外,所有花园 最多 有 3 条路径可以进入…

1042. 不邻接植花

难度中等198

n 个花园,按从 1n 标记。另有数组 paths ,其中 paths[i] = [xi, yi] 描述了花园 xi 到花园 yi 的双向路径。在每个花园中,你打算种下四种花之一。

另外,所有花园 最多3 条路径可以进入或离开.

你需要为每个花园选择一种花,使得通过路径相连的任何两个花园中的花的种类互不相同。

以数组形式返回 任一 可行的方案作为答案 answer,其中 answer[i] 为在第 (i+1) 个花园中种植的花的种类。花的种类用 1、2、3、4 表示。保证存在答案。

示例 1:

输入:n = 3, paths = [[1,2],[2,3],[3,1]]
输出:[1,2,3]
解释:
花园 1 和 2 花的种类不同。
花园 2 和 3 花的种类不同。
花园 3 和 1 花的种类不同。
因此,[1,2,3] 是一个满足题意的答案。其他满足题意的答案有 [1,2,4]、[1,4,2] 和 [3,2,1]

示例 2:

输入:n = 4, paths = [[1,2],[3,4]]
输出:[1,2,1,2]

示例 3:

输入:n = 4, paths = [[1,2],[2,3],[3,4],[4,1],[1,3],[2,4]]
输出:[1,2,3,4]

提示:

  • 1 <= n <= 104
  • 0 <= paths.length <= 2 * 104
  • paths[i].length == 2
  • 1 <= xi, yi <= n
  • xi != yi
  • 每个花园 最多3 条路径可以进入或离开

哈希表实现(染色法)

题解:https://leetcode.cn/problems/flower-planting-with-no-adjacent/solution/liang-chong-xie-fa-ha-xi-biao-shu-zu-wei-7hm8/

四色定理(世界近代三大数学难题之一),又称四色猜想、四色问题,是世界三大数学猜想之一。

四色问题的内容是“任何一张地图只用四种颜色就能使具有共同边界的国家着上不同的颜色。”也就是说在不引起混淆的情况下一张地图只需四种颜色来标记就行。

用数学语言表示即“将平面任意地细分为不相重叠的区域,每一个区域总可以用1234这四个数字之一来标记而不会使相邻的两个区域得到相同的数字。”这里所指的相邻区域是指有一整段边界是公共的。如果两个区域只相遇于一点或有限多点就不叫相邻的。

  • 问题相当于用 4 种颜色给图中的每个节点染色,要求相邻节点颜色不同。而「所有花园最多有 3 条路径可以进入或离开」,这相当于图中每个点的度数至多为 3,那么只要选一个和邻居不同的颜色即可。
class Solution {public int[] gardenNoAdj(int n, int[][] paths) {List<Integer> g[] = new ArrayList[n];Arrays.setAll(g, e -> new ArrayList<>());for(int[] e : paths){int x = e[0]-1, y = e[1]-1; // 编号改为从0开始g[x].add(y);g[y].add(x);}int[] color = new int[n];for(int i = 0; i < n; i++){// 至多有4种颜色,每个节点至多3个路径// 因此只要选与邻居不同的颜色即可boolean[] used = new boolean[5];for(int j : g[i]){used[color[j]] = true;}while(used[++color[i]]); // 找到一个邻居没有用过的颜色// for color[i]++; used[color[i]]; color[i]++ {}}return color;}
}

位运算实现

class Solution {public int[] gardenNoAdj(int n, int[][] paths) {List<Integer> g[] = new ArrayList[n];Arrays.setAll(g, e -> new ArrayList<>());for(int[] e : paths){int x = e[0]-1, y = e[1]-1; // 编号改为从0开始g[x].add(y);g[y].add(x);}int[] color = new int[n];for(int i = 0; i < n; i++){int mask = 1; // 由于颜色是 1~4,把 0 加入 mask 保证下面不会算出 0for(int j : g[i]){mask |= 1 << color[j];}color[i] = Integer.numberOfTrailingZeros(~mask);// 一个数与它的相反数与运算-1可以得到末尾0的个数}return color;}
}
http://www.yidumall.com/news/27490.html

相关文章:

  • 政府网站建设和管理总结百度地图在线查询
  • 微博的网站连接是怎么做的优化seo方法
  • 赤城县城乡建设局网站关于进一步优化 广州
  • 做建站较好的网站国际最新消息
  • 国外大气网站seo排名资源
  • 开个做网站公司网店运营培训
  • 福州网站设计定制公司高清视频网络服务器
  • 郑州哪里有做网站的seo顾问服务 品达优化
  • 网站建设教程出售用苏州久远网络百度贴吧怎么做推广
  • 让自己的电脑做网站的服务器怎样宣传网站
  • 大型网站建设完全教程广州疫情最新消息今天封城了
  • 电商网站开发的项目描述宁波seo整站优化
  • 站点的几种推广方式全渠道营销案例
  • 用mui做的网站免费发布信息网
  • 土特产直营建设网站的调研关键词查询工具
  • 上海平台网站建设企业百度推广优化中心
  • 物流网站建设策划书的总结小广告公司如何起步
  • 官网如何推广seo是付费还是免费推广
  • 加盟网站建设网站服务器失去响应
  • 网站资讯如何做上海有名网站建站开发公司
  • 别人的做网站网络营销课程培训
  • photoshop在线工具微信搜一搜排名优化
  • 手机建立网站新闻头条今日要闻
  • 深圳龙岗区律师seo优化服务公司
  • nas可以做网站服务器吗主流网站关键词排名
  • 世界政务网站绩效评估指标体系建设外呼系统电销
  • 承德网站制作报价泉州全网营销推广
  • 做网站的作文问答推广
  • 微信链图片转换wordpress优化排名案例
  • 应用网站模板网络服务提供者不履行法律行政法规规定