京东笔试第一题
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.nextLine(); char[] chars = s.toCharArray(); int num = 1; int k =1; for(int i=0;i<chars.length;i++){ if(chars[i]=='(') num = num*k++; else k--; } System.out.println(num); } }
第一题代码不难,主要是找规律。。
基本情况就是()()、(())、(()()),第三种情况代表各种组合情况。然后找规律,最后找到的规律是定义两个变量sum=1和k=1,遇到(就sum*=k++,遇到)k--。
求第二题思路和代码,一点思路都没有,靠暴力通过了10%
#京东##Java工程师#