最短路修改数组游园安排
最短路题目链接:https://www.lanqiao.cn/problems/609/learning/
修改数组这个题是在图中寻找最短路,答案是6,用到了Dijkstra算法,最后结果如下图(编程太麻烦了,还是手算轻松)
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T2734
每次读入数据后判断hashset中是否包含这个值,如果 包含就+1
缺点是比较费时间,例如题目说的 1 ≤ A i ≤ 1000000 1le A_ile 1000000 1≤Ai≤1000000,如果前年所有读入的数字已经占满了1-10000之间的数,后面都给1,那么每次都需要自加10000次后才可以找到答案,优点也很明确,就是简单,好理解,拿部分分就很轻松
package daily;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class day3_28_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] ans = new int[N];
Set set = new HashSet<>();
for (int i = 0; i < N; i++) {
int num = sc.nextInt();
while (set.contains(num)) {
num++;
}
set.add(num);
ans[i] = num;
}
sc.close();
for (int i = 0; i < ans.length; i++) {
System.out.print(ans[i] + " ");
}
}
}
游园安排
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T2873
感觉是要用dp求出满足条件的最长子序列,但是我不会,寄!


![蓝桥杯31天冲刺之二十一 [java] 蓝桥杯31天冲刺之二十一 [java]](http://www.mshxw.com/aiimages/31/785563.png)
