三元

Java自学-操作符 三元操作符

情到浓时终转凉″ 提交于 2019-11-27 21:02:56
Java的三元操作符 三元操作符 ?: 示例 1 : 三元操作符 语法:表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2 public class HelloWorld { public static void main(String[] args) { int i = 5; int j = 6; int k = i < j ? 99 : 88; // 相当于 if (i < j) { k = 99; } else { k = 88; } System.out.println(k); } } 练习 : 判断是否是工作日 (通过Scanner输入一个1-7之间的整数,使用三元操作符判断是工作日还是周末?) 来源: https://www.cnblogs.com/jeddzd/p/11376667.html

三元环计数

别说谁变了你拦得住时间么 提交于 2019-11-26 17:41:29
也许更好的阅读体验 问题描述 给一张 \(n\) 个点, \(m\) 条边的简单无向图,求解有多少个三元环 三元环:一个三元组 \(\left(i,j,k\right)\) 表示三个点,要求存在边 \(\left(i,j\right),\left(i,k\right),\left(j,k\right)\) 解决方法 定义点的大小 我们先把每个点 \(i\) 定义一个双关键字 \(\left(deg_i,id_i\right)\) ,其中 \(deg_i,id_i\) 分别表示 \(i\) 点的度数与编号,这样每个点就有了严格的大小关系 转为有向图 然后我们将这张无向图转变为有向图:把所有的边 \(\left(i,j\right)\) 改为由关键字大的点向关键字小的点连边,这样我们就可以得到一张有向无环图 找环 找环分为三步 枚举一个点 \(i\) ,将所有出边所连接的点标记为 \(i\) 枚举一个由 \(i\) 连出的点 \(j\) 枚举所有由 \(j\) 连出的点 \(k\) ,若 \(k\) 有标记了且该标记为 \(i\) ,就表明找到了一个三元环 这样做就保证了每个环只会被 \(i\) 所找到 时间复杂度,最高为 \(O\left(m\sqrt{m}\right)\) 如有哪里讲得不是很明白或是有错误,欢迎指正 如您喜欢的话不妨点个赞收藏一下吧 来源: https://www