最短路
题目链接:https://www.lanqiao.cn/problems/609/learning/
这个题是在图中寻找最短路,答案是6,用到了Dijkstra算法,最后结果如下图(编程太麻烦了,还是手算轻松)
修改数组
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T2734
每次读入数据后判断
hashset
中是否包含这个值,如果 包含就+1缺点是比较费时间,例如题目说的 1 ≤ A i ≤ 1000000 1\le A_i\le 1000000 1≤Ai≤1000000,如果前年所有读入的数字已经占满了1-10000之间的数,后面都给1,那么每次都需要自加10000次后才可以找到答案,优点也很明确,就是简单,好理解,拿部分分就很轻松
package daily;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
/**
* http://lx.lanqiao.cn/problem.page?gpid=T2734
*
* @author Jia
*
*/
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<Integer> 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求出满足条件的最长子序列,但是我不会,寄!