关注
分享一下~ 第一道 import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String []args) {
Scanner scanner=new Scanner(System.in);
String line =scanner.nextLine();
String arr[] = line.split(",");
Set<String> set=new HashSet<>();
for(String word:arr)
set.add(word);
System.out.println(arr.length>set.size());
}
}
第二道 import java.util.Scanner;
public class Main {
public static void main(String []args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
int k = scanner.nextInt();
//数据转换
line = line.replaceAll("\\[", "").replaceAll("\\]", "");
String arr[] =line.split(",");
int len=arr.length;
int a[] = new int[len];
for(int j=0;j<len;j++) {
a[j] = Integer.parseInt(arr[j]);
}
//当前指针移动位置
int start_index = 0;
while(start_index <len) {
//如果越界
if(start_index+k>len) {
break;
}
//每轮前后交换的位置相加等于常数
int index_add = start_index*2+k-1;
for(int i=start_index;i<(start_index+k/2);i++) {
int tmp = a[i];
int exchange_index = index_add-i;
a[i] = a[exchange_index];
a[exchange_index] = tmp;
}
//下一轮的开始位置
start_index +=k;
}
//输出
System.out.print("[");
for(int j=0;j<len;j++) {
if(j!=len-1) {
System.out.print(a[j]+",");
}else {
System.out.print(a[j]);
}
}
System.out.print("]");
}
}
第三道 package xiecheng;
import java.util.Scanner;
public class Main {
public static void main(String []args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
line=line.replaceAll(" ", " ");
String arr[] = line.split(" ");
int path_count = Integer.parseInt(arr[0]);
String paths[] = new String[path_count];
for(int i=1;i<path_count+1;i++) {
paths[i-1] = arr[i];
}
for(int j=0;j<path_count;j++)
System.out.print(getNumber(paths,j)+" ");
}
/**
* 获取某个路径的代表值
* @param paths 全部路径
* @param index 下标
* @return 值
*/
public static String getNumber(String []paths,int index) {
int level = getLevel(paths[index]);
if(level==1)
return "1";
if(level==2)
return "11";
int same_path_count = 1;
for(int i=0;i<index;i++) {
if(isEquals(paths[i], paths[index]))
same_path_count++;
}
StringBuffer sBuffer=new StringBuffer();
sBuffer.append("1");
for(int j=0;j<level-2;j++) {
sBuffer.append(same_path_count);
}
sBuffer.append("1");
return sBuffer.toString();
}
/**
* 判断两个路径是否相等,需要转成数组后再去比较
* @param path1
* @param path2
* @return
*/
public static boolean isEquals(String path1,String path2) {
String arr1[] =path1.split("/");
String arr2[] =path2.split("/");
int len1=arr1.length;
int len2=arr2.length;
if(len1!=len2)
return false;
for(int i=0;i<len1;i++) {
if(!arr1[i].equals(arr2[i]))
return false;
}
return true;
}
/**
* 获取路径的层数
* @param path
* @return
*/
public static int getLevel(String path) {
return path.split("/").length-1;
}
}
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 工作半年后更确定:我们依然不欠优绩主义什么7449
- 2... 杂记近期所面试的三家中小厂5830
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?4914
- 4... #牛客2025仙途报告#居然是五颗星3998
- 5... 仙途报告3312
- 6... 圣诞节用 AI 做个牛客运营翻翻乐!(含代码)2883
- 7... 一个程序员的自救书|从酒吧陪玩DM到上岸大厂2853
- 8... 互联网实习求职的黑话和timeline,你所需要知道的……2681
- 9... 大学废物离开优绩主义之后发现外面根本没下雨2272
- 10... 我只是一个脆弱的人2081
正在热议
更多
# 牛客2025仙途报告 #
5717次浏览 150人参与
# 礼物开箱Plog #
1915次浏览 91人参与
# 2025年终总结 #
179901次浏览 3067人参与
# 哪些行业值得去? #
14446次浏览 77人参与
# 职场新人体验 #
156988次浏览 1123人参与
# 工作两年,想和老板谈涨薪怎么说 #
38848次浏览 175人参与
# 你面试体验感最差/最好的公司 #
23604次浏览 400人参与
# 今年你最想重开的一场面试是? #
6561次浏览 90人参与
# 秋招落幕,你是He or Be #
16781次浏览 306人参与
# 考公VS就业,你怎么选? #
88202次浏览 497人参与
# 一人说一个提前实习的好处 #
15378次浏览 248人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
13753次浏览 130人参与
# 找工作,行业重要还是岗位重要? #
85964次浏览 1706人参与
# 重来一次,你会对开始求职的自己说 #
7291次浏览 197人参与
# 各大公司公布25年Q3财报,你怎么看? #
5070次浏览 50人参与
# 实习没事做是福还是祸? #
19427次浏览 299人参与
# 大家每天通勤多久? #
70683次浏览 468人参与
# 工作中听到最受打击的一句话 #
9058次浏览 154人参与
# 机械制造秋招总结 #
97414次浏览 878人参与
# 实习的内耗时刻 #
212015次浏览 1563人参与
查看5道真题和解析

