Java算法--百度真题
第一道题
给定一个字符串str,和一个正数k
str子序列的字符种数必须是k种,
返回有多少子序列满足这个条件
已知str中都是小写字母
//递归 public static int way(String str, int k) { int[] array = new int[26]; for(char ch : str.toCharArray()) { int temp = (int) ch; temp = temp % 97; array[temp] ++; } return process(array, 0, k); } public static int process(int[] array, int index, int k) { if(index == array.length) { return k == 0 ? 1 : 0; } int p1 = process(array, index + 1, k); int p2 = 0; if(array[index] != 0 && k > 0) { p2 = ((1 << array[index]) - 1) * process(array, index + 1, k - 1); } return p1 + p2; } //缓存 public static int way1(String str, int k) { int[] array = new int[26]; for(char ch : str.toCharArray()) { int temp = (int) ch; temp = temp % 97; array[temp] ++; } int[][] dp = new int[26 + 1][k + 1];
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
八股文+场景题+算法真题 文章被收录于专栏
Java全新整理八股文 + 场景题 + 算法 精心设计,面试命中率超过80% 专栏优势: 1、问题和答案已经整理到位,答案更专业,可以直接回答,不需要额外总结! 2、场景题讲解清晰,适用于大部分场景的项目,并且持续更新中 3、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】