如何在阿里巴巴上建设公司网站wordpress 修改布局
2026/4/8 23:04:24 网站建设 项目流程
如何在阿里巴巴上建设公司网站,wordpress 修改布局,怎样做自己的视频网站,公司网站改版方案最新华为OD机试 真题目录#xff1a;点击查看目录 华为OD面试真题精选#xff1a;点击立即查看 华为OD机考双机位C卷 题目描述 给你一个字符串str和整数k#xff0c;返回满足以下条件的所有子字符串个数#xff1a; 恰好包含k个字母。数字0-9各出现至少一次。 输入…最新华为OD机试真题目录点击查看目录华为OD面试真题精选点击立即查看华为OD机考双机位C卷题目描述给你一个字符串str和整数k返回满足以下条件的所有子字符串个数恰好包含k个字母。数字0-9各出现至少一次。输入描述第一行字符串str(1≤ length ≤ 100000),仅包含数字和小写字母第二行为整数k(0 ≤ k ≤100000 )输出描述输出一个整数表示满足所有条件的子字符串的个数。子字符串是字符串中连续的非空字符序列示例1输入a0123456789aa 1输出2说明解题思路Javaimportjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){ScannerscannernewScanner(System.in);// 读取第一行输入获取字符串strStringstrscanner.nextLine();// 读取第二行输入获取整数kintkInteger.parseInt(scanner.nextLine());// 初始化计数器用于统计满足条件的子字符串个数intcount0;// 获取字符串的长度intnstr.length();// 特殊情况处理当k0时即要求子字符串中不包含任何字母if(k0){// 使用双指针方法right指针逐步向右移动for(intleft0,right0;rightn;right){// 创建数组用于记录每个数字(0-9)的出现次数int[]digitsnewint[10];// 记录当前子字符串中字母的数量intletters0;// 遍历从left到right的所有字符for(intileft;iright;i){charcstr.charAt(i);// 如果是字母字母计数器加1if(cacz){letters;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[c-0];}}// 判断当前子字符串是否满足条件不含字母且包含所有数字(0-9)if(letters0allDigitsPresent(digits)){count;}}}else{// 一般情况当k0时需要恰好有k个字母的子字符串// 枚举所有可能的子字符串起始位置for(intleft0;leftn;left){// 创建数组用于记录每个数字(0-9)的出现次数int[]digitsnewint[10];// 记录当前子字符串中字母的数量intletters0;// 枚举所有可能的子字符串结束位置for(intrightleft;rightn;right){charcstr.charAt(right);// 如果是字母字母计数器加1if(cacz){letters;// 优化如果字母数量超过k就不再继续扩展当前子字符串if(lettersk)break;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[c-0];}// 判断当前子字符串是否满足条件恰好有k个字母且包含所有数字(0-9)if(letterskallDigitsPresent(digits)){count;}}}}// 输出结果System.out.println(count);}/** * 检查是否所有数字(0-9)都至少出现一次 * param digits 记录数字出现次数的数组 * return 如果所有数字都至少出现一次返回true否则返回false */privatestaticbooleanallDigitsPresent(int[]digits){// 检查每个数字是否都出现至少一次for(intdigit:digits){// 如果有任何一个数字的出现次数为0返回falseif(digit0)returnfalse;}// 所有数字都至少出现一次返回truereturntrue;}}Pythondefall_digits_present(digits): 检查是否所有数字(0-9)都至少出现一次 Args: digits: 记录数字出现次数的列表 Returns: 如果所有数字都至少出现一次返回True否则返回False fordigitindigits:ifdigit0:returnFalsereturnTrue# 读取输入str_inputinput()kint(input())# 初始化计数器用于统计满足条件的子字符串个数count0nlen(str_input)# 特殊情况处理当k0时即要求子字符串中不包含任何字母ifk0:left0# 使用双指针方法right指针逐步向右移动forrightinrange(n):# 创建列表用于记录每个数字(0-9)的出现次数digits[0]*10# 记录当前子字符串中字母的数量letters0# 遍历从left到right的所有字符foriinrange(left,right1):cstr_input[i]# 如果是字母字母计数器加1ifacz:letters1# 如果是数字对应数字的计数器加1elif0c9:digits[int(c)]1# 判断当前子字符串是否满足条件不含字母且包含所有数字(0-9)ifletters0andall_digits_present(digits):count1else:# 一般情况当k0时需要恰好有k个字母的子字符串# 枚举所有可能的子字符串起始位置forleftinrange(n):# 创建列表用于记录每个数字(0-9)的出现次数digits[0]*10# 记录当前子字符串中字母的数量letters0# 枚举所有可能的子字符串结束位置forrightinrange(left,n):cstr_input[right]# 如果是字母字母计数器加1ifacz:letters1# 优化如果字母数量超过k就不再继续扩展当前子字符串iflettersk:break# 如果是数字对应数字的计数器加1elif0c9:digits[int(c)]1# 判断当前子字符串是否满足条件恰好有k个字母且包含所有数字(0-9)ifletterskandall_digits_present(digits):count1# 输出结果print(count)JavaScript// 引入readline模块用于读取输入constreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});letinputLines[];letlineCount0;// 检查是否所有数字(0-9)都至少出现一次functionallDigitsPresent(digits){for(letdigitofdigits){if(digit0)returnfalse;}returntrue;}// 读取输入rl.on(line,(line){inputLines.push(line);lineCount;if(lineCount2){conststrinputLines[0];constkparseInt(inputLines[1]);letcount0;constnstr.length;// 特殊情况处理当k0时即要求子字符串中不包含任何字母if(k0){// 使用双指针方法right指针逐步向右移动for(letleft0,right0;rightn;right){// 创建数组用于记录每个数字(0-9)的出现次数constdigitsnewArray(10).fill(0);// 记录当前子字符串中字母的数量letletters0;// 遍历从left到right的所有字符for(letileft;iright;i){constcstr.charAt(i);// 如果是字母字母计数器加1if(cacz){letters;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[parseInt(c)];}}// 判断当前子字符串是否满足条件不含字母且包含所有数字(0-9)if(letters0allDigitsPresent(digits)){count;}}}else{// 一般情况当k0时需要恰好有k个字母的子字符串// 枚举所有可能的子字符串起始位置for(letleft0;leftn;left){// 创建数组用于记录每个数字(0-9)的出现次数constdigitsnewArray(10).fill(0);// 记录当前子字符串中字母的数量letletters0;// 枚举所有可能的子字符串结束位置for(letrightleft;rightn;right){constcstr.charAt(right);// 如果是字母字母计数器加1if(cacz){letters;// 优化如果字母数量超过k就不再继续扩展当前子字符串if(lettersk)break;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[parseInt(c)];}// 判断当前子字符串是否满足条件恰好有k个字母且包含所有数字(0-9)if(letterskallDigitsPresent(digits)){count;}}}}// 输出结果console.log(count);rl.close();}});C#includeiostream#includestring#includevectorusing namespace std;// 检查是否所有数字(0-9)都至少出现一次boolallDigitsPresent(constvectorintdigits){for(intdigit:digits){if(digit0)returnfalse;}returntrue;}intmain(){// 读取输入string str;intk;getline(cin,str);cink;// 初始化计数器用于统计满足条件的子字符串个数intcount0;intnstr.length();// 特殊情况处理当k0时即要求子字符串中不包含任何字母if(k0){// 使用双指针方法right指针逐步向右移动for(intleft0,right0;rightn;right){// 创建向量用于记录每个数字(0-9)的出现次数vectorintdigits(10,0);// 记录当前子字符串中字母的数量intletters0;// 遍历从left到right的所有字符for(intileft;iright;i){charcstr[i];// 如果是字母字母计数器加1if(cacz){letters;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[c-0];}}// 判断当前子字符串是否满足条件不含字母且包含所有数字(0-9)if(letters0allDigitsPresent(digits)){count;}}}else{// 一般情况当k0时需要恰好有k个字母的子字符串// 枚举所有可能的子字符串起始位置for(intleft0;leftn;left){// 创建向量用于记录每个数字(0-9)的出现次数vectorintdigits(10,0);// 记录当前子字符串中字母的数量intletters0;// 枚举所有可能的子字符串结束位置for(intrightleft;rightn;right){charcstr[right];// 如果是字母字母计数器加1if(cacz){letters;// 优化如果字母数量超过k就不再继续扩展当前子字符串if(lettersk)break;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[c-0];}// 判断当前子字符串是否满足条件恰好有k个字母且包含所有数字(0-9)if(letterskallDigitsPresent(digits)){count;}}}}// 输出结果coutcountendl;return0;}C语言#includestdio.h#includestdlib.h#includestring.h#includestdbool.h/** * 检查是否所有数字(0-9)都至少出现一次 * param digits 记录数字出现次数的数组 * return 如果所有数字都至少出现一次返回true否则返回false */boolallDigitsPresent(intdigits[10]){for(inti0;i10;i){if(digits[i]0)returnfalse;}returntrue;}intmain(){// 定义变量charstr[100001];// 字符串最大长度为100000intk;// 读取输入fgets(str,sizeof(str),stdin);// 移除换行符str[strcspn(str,\n)]0;scanf(%d,k);// 初始化计数器用于统计满足条件的子字符串个数intcount0;intnstrlen(str);// 特殊情况处理当k0时即要求子字符串中不包含任何字母if(k0){// 使用双指针方法right指针逐步向右移动for(intleft0,right0;rightn;right){// 创建数组用于记录每个数字(0-9)的出现次数intdigits[10]{0};// 记录当前子字符串中字母的数量intletters0;// 遍历从left到right的所有字符for(intileft;iright;i){charcstr[i];// 如果是字母字母计数器加1if(cacz){letters;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[c-0];}}// 判断当前子字符串是否满足条件不含字母且包含所有数字(0-9)if(letters0allDigitsPresent(digits)){count;}}}else{// 一般情况当k0时需要恰好有k个字母的子字符串// 枚举所有可能的子字符串起始位置for(intleft0;leftn;left){// 创建数组用于记录每个数字(0-9)的出现次数intdigits[10]{0};// 记录当前子字符串中字母的数量intletters0;// 枚举所有可能的子字符串结束位置for(intrightleft;rightn;right){charcstr[right];// 如果是字母字母计数器加1if(cacz){letters;// 优化如果字母数量超过k就不再继续扩展当前子字符串if(lettersk)break;}// 如果是数字对应数字的计数器加1elseif(c0c9){digits[c-0];}// 判断当前子字符串是否满足条件恰好有k个字母且包含所有数字(0-9)if(letterskallDigitsPresent(digits)){count;}}}}// 输出结果printf(%d\n,count);return0;}文章目录最新华为OD机试题目描述输入描述输出描述示例1解题思路JavaPythonJavaScriptCC语言

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询