建信金科1016秋招笔试真题解析
- 2026-11-06 11:55:40
关注我们,每周更新两到三次大厂最新笔试题解析
前言
题目比较简单。第1题是字符串模拟题送分的。 第二题虽然要一定的小规律,但是总体也不难。
第一题
假设我们有一个字符串myster,字符串中只包含英文的大小写字母。
我们每次可都以从字符串里随机选一个字符,但是选中的字符不能再使用。
请问,选中的字符里最多能组成多少个字符串“ccbft”?(大小写都可以)
示例1
输入
"ACBTMfxcc"
输出
1
说明
可以拼成一个字符串"ccbft"
思路与代码
.输入一个字符串,判断该字符串中的字符能够组成多少个"ccbft"
仅使用数组来存储每个目标字符出现的次数
public class Solution {
public int countSeq(String mystr){
String mystr1 = mystr.toLowerCase();//将字符串统一转小写字母
int[] count = new int[4];//用一个长度为4的int数组存放c,b,f,t在字符串中出现的次数
for(int i=0;i<mystr1.length();i++){
char ch = mystr1.charAt(i);
if(ch == 'c'){
count[0]++;
}
if(ch == 'b'){
count[1]++;
}
if(ch == 'f'){
count[2]++;
}
if(ch == 't'){
count[3]++;
}
}
int res = 0;
//满足下面条件时,对c,b,f,t的数量分别-2,-1,-1,-1,能够拼接成"ccbft"的数量+1
while(count[0]>1 && count[1]>0 && count[2]>0 && count[3]>0){
count[0] -= 2;
count[1] -= 1;
count[2] -= 1;
count[3] -= 1;
res++;
}
return res;
}
}
第二题
给定一个字符串s,现在想让你删除掉一些字符,使得这个字符串每个字符出现的次数均不相同,想知道最少需要删除多少个字符?
示例1
输入
"aab"
输出
0
说明
我们不需要删除任何字符,a出现了2次,b出现了1次
思路与代码
给定一个字符串s,现在想让你删除掉一些字符,使得这个字符串每个字符出现的次数均不相同,想知道最少需要删除多少个字符?
首先采用长度为26的int数组来统计字符串s中不同字符出现的次数,然后利用HashSet元素不重复的特性进行删除操作:遍历int数组,当a[i]不为0且set中不存在a[i],直接添加到set中;当a[i]不为0,a[i]在set中已存在的情况下,对a[i]--,操作数res++,直到a[i]在set中不存在,此时判断a[i]是否大于0,大于0才加入set集合中。
class Solution {
public int minDeletions(String s) {
//统计+去重
int[] a = new int[26];
char[] ss = s.toCharArray();
// 统计字母个数
for(char ch : ss){
a[ch - 'a']++;
}
Set<Integer> set = new HashSet<>();
int res = 0;
for(int i=0;i<a.length;i++){
// a[i]>0,才进行判断
if(a[i] != 0){
// set已经包含a[i]就自减,对应操作数+1,直到set中不存在a[i]
while(set.contains(a[i])){
a[i]--;
res++;
}
// 自减到0时,表示完全删除了某个字母,不能加入set中;a[i]不为0,才能加入到set中
if(a[i] != 0){
set.add(a[i]);
}
}
}
return res;
}
}
最后插一下我们的进阶一对一辅导啦
我们是一个针对技术岗(前后端开发、测试、测开、大数据开发)校招一对一进阶提高的工作室。我们从2020年2月份开始,迄今整整三年的时间,带领300+学员斩获1500+大厂offer,参加活动的同学人均5个中大厂offer以上,以下是我们活动内容的介绍! 万诺coding
我们主要是针对有一定基础的同学提供一对一笔试和面试辅导,针对每个同学不同的情况定制内容,包括但不限于“数据结构与算法”/“计算机基础知识”/“项目梳理”/“面试技巧”/“面试复盘”等内容。
摸底测试:如果有兴趣深入了解我们的活动,需要先参加我们的“摸底测试”(类似面试),方便我们了解你的具体情况(主要是code能力和计算机素养),定制出相应的辅导计划。同时这也是一个双向筛选的过程,如果基础过差的同学,抱歉我们可能无法辅导(基础过差的同学一对一辅导成本过高,对双方都不适合);摸底测试通过的同学,我们会定制化一个针对性的提高计划。然后你再考虑是否参加我们的活动。
承诺保offer:通过摸底测试后,我们会针对每个同学的情况给定一个“保offer”计划。然后同学可以根据自己的实际情况考虑参不参加我们的活动。
有兴趣的同学可以扫码添加我们的微信(whynotlab)