字串判断、成绩排序

这篇博客探讨了在链表中进行出队操作时队头指针的修改情况,解析了递归函数结束的条件,提出了控制递归结束的多种方式,并介绍了如何高效地判断字符串子串以及对成绩进行排序的问题。内容涵盖了数据结构、算法和编程基础知识。
摘要由CSDN通过智能技术生成

1.用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时©
A.仅修改队头指针
B.仅修改队尾指针
C.队头、队尾指针都可能要修改
D.队头、队尾指针都要修改
2.递归函数最终会结束,那么这个函数一定?(B)
A.使用了局部变量
B.有一个分支不调用自身
C.使用了全局变量或者使用了一个或多个参数
D.没有循环调用
解析:
直接排除AD,注意力集中在B和C。 B肯定是对的,只有一次循环满足某个条件,不调用自己就返回,递归才会一层一层向上返回。 那么C呢,全局变量和参数确实可以用来控制递归的结束与否。 该不该选C呢?再仔细看一下题目(说实话,我很讨厌这种文字游戏),“这个函数一定…“,所以,问题集中在,是否是一定会使用这两种方式呢? 显然不是的。 除了C中提到的两种情况外,还有如下控制递归的方式: 1.局部静态变量是可以控制递归函数最终结束的 2.可能通过异常来控制递归的结束。 3.可以利用BIOS或OS的一些数据或一些标准库的全局值来控制递归过程的终止。 4.可以把一些数据写入到BIOS或OS的系统数据区,也可以把数据写入到一个文件中,以此来控制递归函数的终止。 所以,答案为B
3.标题:子串判断
现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计
一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。给定一个string数组p和它的大小n,同时给定string s,为母串,请返回一个bool数组,每个元素代表p中的对应字符串是否为s的子串。保证p中的串长度小于等于8,且p中的串的个数小于等于500,同时保证s的长度小于等于1000。
测试样例:
[“a”,“b”,“c”,“d”],4,“abc”
返回:[true,true,true,false]

import java.util.*;
public class Substr {
   
    public boolean[] chkSubStr(String[] p, int n, String s) {
   
        // write code here
        int index = 0;
        boolean[] result = new boolean[n];
        List<String> list = new ArrayList<>();
        while(index<s.length()){
   
            for(int i = index+1;i<=s.length();i++){
   
                String m = s.substring(index,i);
                list.add(m);
            }
            index++;
        }
        for(int i = 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值