排序子序列
思路
找出波峰波谷
代码
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner (System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int []arr=new int[n];
for(int i=0;i<n;i++){
arr[i]=sc.nextInt();
}
int count=1;
for(int i=1;i<arr.length-1;i++){
if((arr[i-1]>arr[i]&&arr[i]<arr[i+1])||(arr[i-1]<arr[i]&&arr[i+1]<arr[i])){
count++;
if(n-3!=i){
i++;
}
}
}
System.out.println(count);
}
}
}
倒置字符串
代码
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
StringBuilder sb=new StringBuilder();
String[]arr =sc.nextLine().split(" ");
for(int i=arr.length-1;i>=0;i--){
sb.append(arr[i]);
sb.append(" ");
}
System.out.println(sb.toString());
}
}
}
字符串中找出连续最长的数字串
用max表示经过的数字长度最大值,count表示数字计数器,当为字母时重置为0
end表示数字尾部,每次满足数字时,对max进行判断,当max小于于count时,更新max和end
代码
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner (System.in);
while(sc.hasNext()){
String s=sc.nextLine();
int count=0;
int max=0;
int end=0;
for(int i=0;i<s.length();i++){
if(s.charAt(i)>='0'&&s.charAt(i)<='9'){
count++;
if(count>max){
max=count;
end=i;
}
}else{
count=0;
}
}
System.out.println(s.substring(end-max+1,end+1));
}
}
}
计算糖果
代码
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int []arr=new int[4];
for(int i=0;i<arr.length;i++){
arr[i]=sc.nextInt();
}
int A=(arr[0]+arr[2])/2;
int B=(arr[1]+arr[3])/2;
int C=(arr[3]-arr[1])/2;
if(arr[0]==A-B&&arr[1]==B-C&&arr[2]==A+B&&arr[3]==B+C){
System.out.println(A+" "+B+" "+C);
}else{
System.out.println("No");
}
}
}
}
统计回文
代码
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String A=sc.nextLine();
String B=sc.nextLine();
int count=0;
for(int i=0;i<A.length()+1;i++){
String str=A.substring(0,i)+B+A.substring(i,A.length());
StringBuilder sb=new StringBuilder(str);
if(sb.reverse().toString().equals(str)){
count++;
}
}
System.out.println(count);
}
}
}