卡码网笔试 | 118 小y删数字、119 小红的字符串切割、120 小红的数字匹配

118 小y删数字

逐个数字循环除10,并且用一个变量记录非0位数,最后加起来即可。

代码如下:

#include <iostream>using namespace std;int main() {int n;cin >> n;int a[n];int sum = 0;for (int i = 0; i < n; i++) cin >> a[i];for (int i = 0; i < n; i++) {while (a[i]) {if (a[i] % 10 > 0) sum++;a[i] /= 10;}}cout << sum << endl;
}

119 小红的字符串切割

双指针。

用一个end变量记录相同字符串最后一个字符的下标,每次i和i + 1比较得到两者是否相等的情况来维护end变量的值。每次end更新的,start 赋为 end + 1。当确定end是相同字符串最后一个字符的下标或者是整个字符串最后一个字符的下标时,我们用end - start + 1得到相同字符串的长度。

之后根据字符串长度进行处理,如果是奇数且>=3,直接放入记录结果的向量中。如果是偶数,大于4的可以拆分前面三个字符为一个字符串,放入向量,后面也直接放入即可。其他情况直接输出-1并进入到下一轮循环中去即可。

代码如下:

#include <iostream>
#include <string>
#include <vector>
using namespace std;int main() {int n;cin >> n;if (n < 3) {cout << -1 << endl;return 0;}string s;cin >> s;vector<string> vec;int start = 0, end = 0;for (int i = 0; i < n; i++) {if (i + 1 < n && s[i + 1] == s[i]) {end++;} else {if (end - start +1 < 3) {cout << -1 << endl;return 0;} else {if ((end - start + 1) % 2 == 1) {string ss = s.substr(start, end - start + 1);vec.push_back(ss);} else if ((end - start + 1) == 4) {cout << -1 << endl;return 0;} else {string ss = s.substr(start, 3);vec.push_back(ss);ss = s.substr(start + 3, end - start - 2);vec.push_back(ss);}start = end + 1;end++;}}}for (int i = 0; i < vec.size(); i++) {cout << vec[i] << ' ';}
}

120 小红的数字匹配

这题主要分成这么三个步骤:

1、统计问号字符个数;

2、将k转化为对应大小的字符

3、将转化后的字符填入到原来问号字符中去

由于java中nextInt()后会有换行符或者空格残留,因此在读取字符串之前还要再用一个nextLint()缓冲下。在用字符串之前,我们可以用toCharArray()把它转化为一个字符数组,最后再用String的构造函数把它转化为字符串返回。

大致代码如下:

import java.util.*;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int t = in.nextInt();while (t-- > 0) {in.nextLine();String s = in.nextLine();int k = in.nextInt();if (s.charAt(0) == '0' && s.length() > 1) {System.out.println(-1);continue;}char[] c = s.toCharArray();int num = 0;for (int i = 0; i < c.length; i++) {if (c[i] == '?') num++;}if (num == 0 && k > 0) {System.out.println(-1);continue;}int flag = 1;k--;for (int i = 0; i < c.length; i++) {if (c[i] == '?') {num--;int x = k / (int)Math.pow(10, num);if (i == 0 && x > 8) {flag = 0; break;} else if (x > 9) {flag = 0; break;} else {if (i == 0) c[i] = (char)(x + 1 + '0');// else if (num == 0) c[i] = x == 0 ? '0' : (char)(x - 1 + '0');else c[i] = (char)(x + '0');k %= Math.pow(10, num);}}}if (flag == 0) System.out.println(-1);else System.out.println(new String(c));}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高中数学:平面向量-题型总结及解题思路梳理

一、知识点及解题思路梳理 高中&#xff0c;2/3的向量题目是坐标向量题&#xff0c;1/3是几何向量题。但是&#xff0c;这1/3的几何向量题可以转换成坐标向量题。 二、练习 例题1 几何型向量题 例题2

【机器学习300问】100、怎么理解卷积神经网络CNN中的池化操作?

一、什么是池化&#xff1f; 卷积神经网络&#xff08;CNN&#xff09;中的池化&#xff08;Pooling&#xff09;操作是一种下采样技术&#xff0c;其目的是减少数据的空间维度&#xff08;宽度和高度&#xff09;&#xff0c;同时保持最重要的特征并降低计算复杂度。池化操作不…

【LeetCode 151】反转字符串中的单词

1. 题目 2. 分析 这题要是用Python写&#xff0c;就非常简单了。 3. 代码 class Solution:def reverseWords(self, s: str) -> str:s " ".join(reversed(s.strip().split()))return s

池的概念以及数据库连接池 Druid

1.池的概述 池就相当于一个共享资源&#xff0c;是对资源的整合和调配&#xff0c;节省存储空间&#xff0c;当需要的时候可以直接在池中取&#xff0c;用完之后再还回去。 为什么需要连接池 假如没有连接池&#xff0c;我们操作数据库的流程如下&#xff1a; 应用程序使用…

若依 Ruoyi-Vue PageHelper 分页失效 total为记录数

分页插件PageHelper返回记录总数total竟然出错了 执行控制台的SQL&#xff0c;查询出来的total数量是对的&#xff0c;很奇怪分页的total设置为查询到的记录数。 怀疑对list.stream操作&#xff0c;影响了分页&#xff0c;代码发现确实是这样&#xff0c;debug&#xff0c;居然…

firewalld 防火墙

firewalld概述 Linux系统防火墙从CentOS7开始的默认防火墙工作在网络层&#xff0c;属于包过滤防火墙 Firewalld和iptables的关系 netfilter 位于Linux内核中的包过滤功能体系称为Linux防火墙的“内核态” firewalld Centos默认的管理防火墙规则的工具称为防火墙的“用…

Gradient-checkpointing的原理

原文&#xff1a; 将更大的网络安装到内存中。|by 雅罗斯拉夫布拉托夫 |张量流 |中等 (medium.com) 前向传播时&#xff0c;隔几层就保留一层activation数据&#xff0c;其余层的activation都释放掉&#xff1b; 反向传播时&#xff0c;从最近的checkpoint去重新跑forward&…

React 如何自定义 Hooks

自定义 Hooks React 内部自带了很多 Hooks 例如 useState、useEffect 等等&#xff0c;那么我们为什么还要自定义 Hooks&#xff1f;使用 Hooks 的好处之一就是重用&#xff0c;可以将代码从组件中抽离出来定义为 Hooks&#xff0c;而不用每个组件中重复去写相同的代码。首先是…

Ps:消失点滤镜 - 测量工具

Ps菜单&#xff1a;滤镜/消失点 Filter/Vanishing Point 快捷键&#xff1a;Ctrl Alt V “消失点”滤镜中的测量工具 Measure Tool用于在透视平面内测量图像中对象的大小&#xff0c;适用于建筑师、设计师、法医和木工等需要精确测量的用户。 快捷键&#xff1a;R ◆ ◆ ◆…

基于springboot+vue的4S店车辆管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

CMS Full GC流程以及调优配置

个人博客 CMS Full GC流程以及调优配置 | iwts’s blog CMS CMS 收集器是以实现最短 STW 时间为目标的收集器&#xff0c;所以对于偏业务的后台开发而言&#xff0c;基本上都无脑选CMS了。 多线程收集器&#xff0c;工作在老年代&#xff0c;采用标记清除算法。比较特殊&am…

React开发必须掌握这些es6语法-03

箭头函数 其实就是java的lamda编程&#xff0c;它的特点是单向无环流&#xff0c;没有变量&#xff0c;源数据状态不能被改变。 基本语法 ()> {} //表示一个空函数&#xff0c;和function(){}功能一样&#xff0c;如果只有一行语句则&#xff0c;{}可省略 lef fn arg &g…

【QNX】Qnx IPC通信 Message-passing

Qnx IPC通信 Message-passing Message-passing介绍 QNX提供了多种IPC(Interprocess Communication )通信方式&#xff0c;包括Message-passing、Plus&#xff08;脉冲&#xff09;、Event、Signal、共享内存、Pipe&#xff0c;当然还有socket。 Message-passing是Qnx IPC的主…

机器学习 - 特征预处理 - 分箱

分箱&#xff08;Binning&#xff09;是一种数据预处理技术&#xff0c;将连续变量分割成离散的组别或区间&#xff0c;有助于减少数据的噪音&#xff0c;提高模型的稳定性。以下是五种常见的分箱方法及其详细介绍&#xff1a; 1. 卡方分箱&#xff08;Chi-square Binning&…

【数据结构与算法 经典例题】判断链表是否带环

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;数据结构与算法刷题系列&#xff08;C语言&#xff09; 期待您的关注 目录

渗透测试框架之CobaltStrike,Metasploit域名上线隐藏IP

概述 为什么要隐藏IP 在拿下了目标机之后&#xff0c;目标机在内网里面&#xff0c;使用msf或者CS时&#xff0c;用自己的VPS做服务器的话&#xff0c;导致很容易被溯源。 域名上线原理 当我们访问域名时会经过域名解析 域名解析就是域名到IP地址的转换过程&#xff0c;那么…

头歌传送指令第1关:传送指令 mov

编程要求 根据下方的所给的汇编代码&#xff0c;在右侧编辑器的代码文件的 Begin - End 区域内补充 C 语言代码。 mov %esp,%ebpand $0xfffffff0,%espsub $0x20,%espmovl $0xa,0x18(%esp)mov 0x18(%esp),%eaxmov %eax,0x1c(%esp)mov 0x1c(%esp),%eaxmov %eax,0x8(%esp)mov 0x18…

dubbo复习:(9)配置中心的大坑,并不能像spring cloud那样直接从配置中心读取自定义的配置

配置中心只是为 Dubbo 配置提供管理使用的&#xff08;比如配置服务超时时间等)。不要尝试通过Value类似的方式从dubbo 配置中心(比如nacos、zookeeper、Apollo)来获取数据 https://github.com/apache/dubbo/issues/11200可以在application.yml中主要写注册中心的配置&#xf…

【深度学习基础】NumPy数组库的使用

目录 写在开头 一、数组的类型与维度 数组的类型 数组的维度 二、数组的创建 递增数组 同值数组 随机数数组 三、数组的索引 访问/修改单个元素 花式索引 数组的切片 四、数组的变形 数组的转置 数组的翻转 数组的形状改变 数组的拼接 五、数组的运算 数…