SHEIN 后台开发工程师笔试

 

刷题刷得我迷迷糊糊的 题目 一个target字符串 一个字符数组 nums 找出nums中包含target 的最小连续子数组 输入 target = abc, nums = [c,a,c,b,c,c] 输出 [1,4]

可能是将最长公共子序列改的

String target = "abc";
char[] nums = {'c','a','c','b','c','c'};
char[] targets = target.toCharArray();
int[][]dp = new int[targets.length+1][nums.length+1];
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
for(int i = 0; i < targets.length; i++){
    for(int j = 0; j < nums.length; ++j){
        if(targets[i] == nums[j]) {
            dp[i+1][j+1] = dp[i][j]+1;
            if(i == targets.length-1 && dp[i+1][j+1] == targets.length){
                minHeap.offer(j);
            }
        }else{
            dp[i+1][j+1] = Math.max(dp[i][j+1],dp[i+1][j]);
        }
    }
}
if(!minHeap.isEmpty()){
    System.out.println(minHeap.poll());
} else
    System.out.println("null"); 

#SHEIN#
全部评论
老哥有没有兴趣师试一下荣耀?我可以内推。荣耀honor招聘官网https://www.hihonor.com/cn/career/ 内推码:yuhvad
点赞 回复 分享
发布于 2022-08-29 02:20 广东
滑动窗口可以解决
点赞 回复 分享
发布于 2022-08-29 17:49 天津
请问后端总共有几道题目,大佬
点赞 回复 分享
发布于 2022-08-29 17:49 天津
楼主啥时候投的,我测评完半天没消息。。。。
点赞 回复 分享
发布于 2022-08-29 23:34 广东
我和你应该是一套题,滑动窗口暴力做
点赞 回复 分享
发布于 2022-08-31 11:08 四川
不需要动态规划吧,直接双指针一人管一个,遍历一遍就好了
点赞 回复 分享
发布于 2022-09-30 20:49 江苏
深圳SHEIN 有意向/oc的同学可以私聊我下    有交流裙
点赞 回复 分享
发布于 2022-10-18 09:41 广东

相关推荐

牛客963010790号:为什么还要收藏
点赞 评论 收藏
分享
2 8 评论
分享
牛客网
牛客企业服务