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];
        for(int i = 0; i

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

八股文+场景题+算法真题 文章被收录于专栏

针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文

全部评论
大佬你好,这个怎么参加,是发简历给你吗
1 回复 分享
发布于 02-24 14:31 广东
我去试试!!
1 回复 分享
发布于 02-27 19:52 浙江
腾讯云智研发
校招火热招聘中
官网直投
怎么报名?
点赞 回复 分享
发布于 04-20 17:15 四川
用nacos就算亮点?难蚌
点赞 回复 分享
发布于 04-20 21:07 湖南

相关推荐

4 12 评论
分享
牛客网
牛客企业服务