京东 2018 笔试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vv___/article/details/79872930
  1. 回文
import java.util.Scanner;

public class Main {
    public static int ans=0;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String orginalStr = sc.nextLine();
        //int ans = 0;
        combine(orginalStr);
        System.out.println(ans);
    }

    public static boolean ifHuiwen(String str){

        char[] strChar=str.toCharArray();
        int begin=0,end=str.length()-1;
        while(!(begin==end||begin>end)){
            if(strChar[begin]!=strChar[end])
                return false;
            begin++;
            end--;
        }
        return true;
    }
    public static void combine(String str) {
        if (str == null)  //如果字符串为空,则直接返回
            return;
        int length = str.length();
        StringBuilder sb = new StringBuilder();  //创建字符串容器
        for (int i = 0; i < length; i++) {
            combination(str, 0, i, sb);
        }
    }

    public static void combination(String str, int index, int number, StringBuilder sb) {
        if (number == -1) {
            if(ifHuiwen(sb.toString()))
                ans++;
                //System.out.println(sb.toString());
            return;
        }
        if (index == str.length())
            return;
        sb.append(str.charAt(index));  //向StringBuilder中添加元素
        combination(str, index + 1, number - 1, sb);
        sb.deleteCharAt(sb.length() - 1);  //在StringBuilder中删除元素
        combination(str, index + 1, number, sb);
    }
}
  1. 找出一个奇数偶数
import java.util.Scanner;


public class Main {
    public static int ans=0;
    public static int X=0;
    public static int Y=0;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] m=new int[10000];
        for(int i = 0; i < n; i++){
                m[i] = sc.nextInt();
        }
        for(int i=0;i<n;i++){
            if(result(m[i]))
                System.out.println(Y+" "+X);
            else {
                System.out.println("No");
            }
        }

    }   
    public static boolean result(int num){
        int num_value=0;
        for(int i=2;num_value<num;i+=2){
            for(int j=1;num_value<num;j+=2){
                if(i*j==num){
                    X=i;
                    Y=j;
                    return true;
                }
                num_value=i*j;
            }
        }
        return false;
    }
}
  1. 括号配对

猜你喜欢

转载自blog.csdn.net/vv___/article/details/79872930