小易的升级之路_找出字符串中第一个只出现一次的字符
【摘要】 小易的升级之路小易的升级之路import java.util.*;public class Main{ public static int gcd(int a,int b){ int tmp = 0; while(a!=0){ tmp = b%a; b = a; a = tmp; ...
小易的升级之路
import java.util.*;
public class Main{
public static int gcd(int a,int b){
int tmp = 0;
while(a!=0){
tmp = b%a;
b = a;
a = tmp;
}
return b;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int a = sc.nextInt();
int[] array = new int[n];
int result = 0;
for(int i = 0;i<n;i++){
array[i] = sc.nextInt();
}
for(int i = 0;i<n;i++){
if(a>=array[i]){
a += array[i];
}else{
a += gcd(a,array[i]);
}
}
System.out.println(a);
}
}
}
找出字符串中第一个只出现一次的字符
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int[] table = new int[128];//字符的ASCII码 范围 0-127!
char[] strchs = str.toCharArray();//将字符串转换成字符数组!
for(int i = 0;i<strchs.length;i++){
//通过table数组将 该字符出现位置标记!
table[strchs[i]]++;
}
int i = 0;
for(i = 0;i< strchs.length;i++){
//遍历获取结果!
//找的顺序和标记的顺序相同 所以 保证打印第一个只出现一次的字符
if(table[strchs[i]]==1){
System.out.println(strchs[i]);
break;
}
}
if(i==strchs.length){
//不存在该字符!
System.out.println(-1);
}
}
}
这里利用了 字符ASCII
码范围,通过标记表table
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)