Java 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。

import java.io.BufferedInputStream;
import java.util.Scanner;
 
public class Main {
 
    private static Scanner cin;
	public static int Check(String s) {
    	StringBuffer sb = new StringBuffer();
    	sb.append(s);
    	sb.reverse();
    	String s1 = sb.toString();
    	int n = s.length();
    	int [][] in = new int[n+1][n+1];
    	for (int i=1;i
  • 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean check = false;
        while(sc.hasNext()){
            String s = sc.nextLine();
            char[] c =s.toCharArray();
            for(int i=s.length()-1;i>=0;i--){
                check=false;
                if(Character.isLowerCase(c[i])){
                    for(int j=i-1;j>=0;j--){
                        if(Character.isUpperCase(c[j])){
                            char temp = c[j];
                            for(int k=j;k

 

你可能感兴趣的:(算法)