题1:
题目描述:
很多网页上会显示一些其他网页的超链接,如一些搜索网页会逐条列出搜索到的条目。在一些网页中,被用户点击过的超链接会换一种颜色。
假设某网页一开始有n条超链接,从上到下有1-n编号,每条超链接都显示成一个字符串,最开始所有的超链接都显示为蓝色。现在给出用户点击过得那些超链接,
一条超链接只要被点击过了,就会由蓝色变成紫色,请输出最后所有的仍未蓝色的超链接。
输入:
第一行输入一个整数n,接下来n行,每行一个字符串,表示每个超链接的名称,名称只有小写字母构成,长度不超过20,且所有名称互不相同。(1<=n<=100)
接下来输入一个整数m,表示用户点击过m个超链接,最后m行表示用户点击过的超链接的名称,这m个有可能有重复。
输出:
输出若干行,每行一个名称,所有仍为蓝色的超链接的名称,名称的顺序按照字典序排序,如果全为紫色,直接不输出。
样例输入:
5sinaqqtaobaojdbaidu3qqbaidubaidu
样例输出:
sinatoabaojd
代码:
1 import java.util.*; 2 public class Meituan1 { 3 ????public static void main(String[] args) { 4 ????????Scanner sc=new Scanner(System.in); 5 ????????while(sc.hasNextLine()){ 6 ????????????int n=Integer.parseInt(sc.nextLine()); 7 ????????????String[] arr=new String[n]; 8 ????????????for(int i=0;i<arr.length;i++){ 9 ????????????????arr[i]=sc.nextLine();10 ????????????}11 ????????????int m=Integer.parseInt(sc.nextLine());12 ????????????String[] arr2=new String[m];13 ????????????TreeSet<String> ts=new TreeSet<String>();14 ????????????TreeSet<String> ts2=new TreeSet<String>();15 ????????????for(int i=0;i<arr2.length;i++){16 ????????????????arr2[i]=sc.nextLine();17 ????????????????if(!ts.contains(arr2[i])){18 ????????????????????ts.add(arr2[i]);19 ????????????????}20 ????????????}21 ????????????for(int i=0;i<arr.length;i++){22 ????????????????if(!ts.contains(arr[i])){23 ????????????????????ts2.add(arr[i]);24 ????????????????}25 ????????????}26 ????????????for (String s : ts2) {27 ????????????????System.out.println(s);28 ????????????}29 ????????}30 ????}31 }
题2
题目描述:
时辰总给了他的女儿凛一块魔法表,但是魔法表的表针总是指向奇怪的地方,所以凛决定修理一下这块表,当前表的指针指向了一个方向n1(0~359度之间,正北方向是0度,正东方向是90度),
她需要将表针调节到方向n2,她可以选择顺时针,也可以旋转逆时针旋转表针,若顺时针旋转角度会增大,逆时针则角度减小。当顺时针旋转到359度以后,再旋转一度则回到0度。
凛想要让表针旋转的角度尽量小,也就是以最短路径旋转到正确的方向。请你告诉他该如何旋转。当有多种旋转方式时,且旋转过的角度相同,就会选择顺时针旋转。
输入:
第一行包含一个整数n1,表示当前指针的方向
第二行包含一个整数n2,表示指针应该指向的方向 (0<=n1,n2<=359)
输出:
若需要顺时针旋转,输出x
若需要逆时针旋转,输出-x
样例输入:
315 45
45 270
样例输出:
90 -135
代码如下:
1 import java.util.*; 2 class ?rotClock1 3 { 4 ????public static void main(String[] args) ?5 ????{ 6 ????????Scanner sc = new Scanner(System.in); 7 ????????System.out.println("input 2 numbers:"); 8 ????????int n1 =sc.nextInt(); 9 ????????int n2 = sc.nextInt();10 ????????int n11 = 0;11 ????????if (n1>=180)12 ????????{13 ????????????n11 = n1-180;14 ????????????if (n2>=0 && n2<=n11 )15 ????????????{16 ????????????????System.out.print( 360-n1+n2);17 ????????????}else18 ????????????{19 ????????????????System.out.print( n2-n1);20 ????????????}21 22 ????????}else23 ????????{24 ????????????n11 = n1+180;25 ????????????if (n2>n11 && n2<=359)26 ????????????{27 ????????????????System.out.print( -n1-360+n2);28 ????????????}29 ????????????else{30 ????????????????System.out.print( n2-n1);31 ????????????}32 ????????}33 ????}34 }
整体来看,美团的这两个题还是非常简单的。
2017美团点评web前端在线编程题(1)(2)
原文地址:http://www.cnblogs.com/shuizhongyu111/p/7461230.html