中兴2020提前批笔试

中兴提前批笔试

    • 选择题
        • ① 表的范式
        • ② 网络冗余
        • ③ 加载页面的过程
        • ④ 接入点模式
    • 编程题 01
      • 题目描述
        • 输入
        • 输出
        • 约束条件
      • 示例:
        • 输入:
        • 输出:
        • 解释:
    • 编程题02
      • 题目描述
        • 输入
        • 输出
        • 约束条件:
        • 注意:
        • 示例:
        • 输入:
        • 输出:
        • 解释:

师兄参加中兴笔试根据印象讲的题目,这里进行记录并实现代码
中兴2020提前批笔试_第1张图片

选择题

① 表的范式

表的范式:1NF 2NF 3NF BCNF

② 网络冗余

③ 加载页面的过程

④ 接入点模式

  1. 根模式
  2. 中继模式
  3. 桥接模式
  4. 工作组模式

编程题 01

替换序列中的固定位置的字符

题目描述

写个算法,帮助朱莉找出可通过在给定序列中用“0“或替换每个“可能得到的所有序列

输入

该函数参数的输入包括个参数
seq. 一个字符串,表示山姆给出的序列。

输出

返回一个字符串列表,表示可从给定序列中得到的所有可能的序列(按字母顺序排列)。

约束条件

0s

示例:

输入:

seq=11100??11

输出:

111000011
111000111
111001011
111001111

解释:

位置5和6上的位已从序列中删除
所以,所有可能的序列是111000011、111000111、111001011、111001111

public class Solution {
    List<String> list = new ArrayList<>();
    public List<String> findString(String s){
        ArrayList<Integer> pos = new ArrayList<>();
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] == '?'){
                pos.add(i);
            }
        }

        modify(chars,pos,0,'0');
        return list;
    }

    public void modify(char[] s, ArrayList<Integer> pos, int i, char flag){
        //第0个是辅助节点
        while(i > pos.size()){
            if (flag == '0'){
                list.add(String.valueOf(s));
            }
            return;
        }
        if (i > 0){
            s[pos.get(i-1)] = flag;
        }
        modify(s,pos,i + 1,'0');
        modify(s,pos,i + 1,'1');
    }
}

编程题02

题目描述

Cytes彩票是世界上最大的彩票。在它的每张彩票上,都有一个由a z的字母组成的字符

串。该公司生成个抽奖字符串S。 如果个 人的票面字符串是抽奖字符串的特殊子字符串,则他她中奖。特殊子字符串是可通过对票面字符串中进行一项更改而形成的子 字符串。

现在,有些人为了中彩票而更改票面字符串。为了避免任何怀疑,他们可以在字符串中进行以下更改:

l.他们可以将字符o’改为字符a’,反之亦然。

2.他们可以将字符 t 改为字符 l ,反之亦然。

3.他们可以从字符串中的任意位置擦除个字符。

写个算法来求出中彩票的人数(无论诚实还是通过作弊中奖)。

输入

该函数/方法的输入包括三个参数:

numTickets, 一个整数,表示彩票数量(N)。

drawString,一个由小写字母组成的字符串,表示抽奖字符串(S)。

tickets, 一个由N个字符串组成的列表,表示彩票。

输出

返回一个整数,表示中奖票数(无论诚实还是通过作弊中奖。

约束条件:

O ≤ numTickets≤ 1000

O≤ lenl ≤200,其中len1为drawString的长度

O≤len2 ≤200,其中len2为tickets中各彩票的长度

注意:

drawString包含小写英文字母。

示例:

输入:

numTickets= 3

drawString = “aabacd”

tickets= {“abocde”, “aoc”, “actld”]

输出:

2

解释:

对于第一张票"abocde" 从票面字符串中删除’e’并将’o’改为’a’, 从而使新字符串为"abacd". 所以,新的第一 张彩票abacd"是抽奖字符串的子字符串。

对于第二张票"aoc" 删除a’并将’o’改为’a’, 使得新字符串成为"ac" .也是抽奖字符串的子字符串。

对于第三张票"actld"在彩 票和抽奖字符串上进行任何操作,我们都无法得到抽奖字符串的任何子字符串。

因此,只有2张中奖彩票。

你可能感兴趣的:(招聘)