牛客NC101 压缩字符串(一)【简单 模拟 Java,Go,PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/c43a0d72d29941c1b65c857d8ac9047e

思路

直接模拟

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param param string字符串* @return string字符串*/public String compressString (String param) {//直接模拟StringBuilder sb = new StringBuilder();int n = param.length();for (int i = 0; i < n ; i++) {char c = param.charAt(i);int cnt = 0;int j = i;for (; j < n ; j++) {if (param.charAt(j) == c) {cnt++;} else {break;}}if (cnt > 1) {sb = sb.append(c + "" + cnt);} else {sb =  sb.append(c + "");}i = j - 1;}return sb.toString();}
}

参考答案Go

package main
import ("strings""strconv"
)
/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param param string字符串* @return string字符串*/
func compressString(param string) string {// 直接模拟n := len(param)var ans strings.Builderfor i := 0; i < n; i++ {c := param[i]j := icnt := 0for ; j < n; j++ {if c == param[j] {cnt++} else {break}}ans.WriteString(string([]byte{c}))if cnt > 1 {ans.WriteString(strconv.Itoa(cnt))//ans = ans + string([]byte{c}) + strconv.Itoa(cnt)}i = j - 1}return ans.String()
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param param string字符串 * @return string字符串*/
function compressString( $param )
{//直接模拟$n = strlen($param);$ans = "";for($i=0;$i<$n;$i++){$c = $param[$i];$j = $i;$cnt = 0;for(;$j<$n;$j++){if($param[$j] ==$c){$cnt++;}else{break;}}if($cnt>1){$ans = $ans.$c.$cnt;}else{$ans =$ans.$c;}$i=$j-1;}return $ans;
}

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

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

相关文章

备考ICA----Istio实验4---使用 Istio 进行金丝雀部署

备考ICA----Istio实验4—使用 Istio 进行金丝雀部署 上一个实验已经通过DestinationRule实现了部分金丝雀部署的功能,这个实验会更完整的模拟展示一个环境由v1慢慢过渡到v2版本的金丝雀发布. 1. 环境清理 kubectl delete gw/helloworld-gateway vs/helloworld dr/helloworld…

VS2017 remote debugger实现在线调试note

前言&#xff1a; 做为一个程序员&#xff0c; 必备的技能就是代码调试了&#xff0c;但是你们真的掌握了VS 的调试吗&#xff1f;有些时候由于线上环境和本地环境的差异&#xff0c; 导致本地可以运行&#xff0c; 但是线上确是存在异常的情况。也许可以通过Log 很快的定位到…

JavaEE--小Demo--数据库建立

目录 实验准备 本次所要新建的文件 实验步骤 step1-demo.sql 1.在resources文件夹下新建demo.sql文件 2.打开此目录&#xff0c;并运行命令提示符 3.打开数据库mysql -uroot -p 4.创建数据库create database demo; 5.使用数据库use demo; 6.导入数据source demo.sql;…

bochs模拟器中文文档

一、前言&#xff1a; 相信很多人都有使用模拟器的需求&#xff0c;因为并不是所有的场景都能用虚拟机代劳&#xff0c;如果你需要对程序精心的调试&#xff0c;实时查看内存与寄存器信息、研究指令集的工作原理&#xff0c;那么模拟器就是一种非常重要的工具。常见的模拟器有…

简介:KMeans聚类算法

在机器学习中&#xff0c;无监督学习一直是我们追求的方向&#xff0c;而其中的聚类算法更是发现隐藏数据结构与知识的有效手段。聚类是一种包括数据点分组的机器学习技术。给定一组数据点&#xff0c;我们可以用聚类算法将每个数据点分到特定的组中。 理论上&#xff0c;属于同…

海量数据处理项目-学以致用-商用短链平台需求文档拆分和总结

海量数据处理项目-学以致用-商用短链平台需求文档拆分和总结

提升Midjourney风格化的三个技巧

1. 引言 在前篇博文中&#xff0c;我们详细讲述了Midjourney的新功能风格参考的一些基础使用方法&#xff0c;事实上我们可以通过控制参数和提示权重进行更多的自定义操作&#xff0c;在本文中&#xff0c;我将向大家介绍我在网上搜集到的一些提升风格化效果的三个技巧。 闲话…

怎么卸载Mybatis?(仅需三步)

解决办法如下&#xff1a; 第一步&#xff1a;选择文件→设置 第二步&#xff1a;找到插件→输入Mybatis找到这个标志 第三步&#xff1a;把这个勾勾取消掉&#xff0c;点击确定&#xff0c;就可以轻松卸载了

hcip复习总结2(广域网与OSPF)

数据链路层面&#xff1a; 针对不同的物理链路定义不同的封装 局域网封装&#xff1a; Ethernet 2 &#xff08; TCP/IP &#xff09; &#xff0c; IEEE802.3 &#xff08; OSI &#xff09; 广域网封装&#xff1a; PPP HDLC FR ATM HDLC &#xff1a; 高级数据链路控制协…

备考ICA----Istio实验7---故障注入 Fault Injection 实验

备考ICA----Istio实验7—故障注入 Fault Injection 实验 Istio 的故障注入用于模拟应用程序中的故障现象&#xff0c;以测试应用程序的故障恢复能力。故障注入有两种: 1.delay延迟注入 2.abort中止注入 1. 环境准备 kubectl apply -f istio/samples/bookinfo/platform/kube/…

PTA题解 --- 阶梯电价(C语言)

今天是PTA题库解法讲解的第五天&#xff0c;今天我们要讲解A-B&#xff0c;题目如下&#xff1a; 解题思路&#xff1a; 要解决这个问题&#xff0c;我们可以编写一个C语言程序&#xff0c;首先判断输入的月用电量是否有效&#xff08;即大于等于0&#xff09;。如果有效&…

面试笔记——MySQL(主从同步原理、分库分表)

主从同步原理 主从同步结构&#xff1a;主库负责写数据&#xff0c;从库负责读数据&#xff0c;如图—— MySQL主从复制的核心就是二进制日志&#xff08;BINLOG&#xff09;&#xff0c;它记录了所有的 DDL&#xff08;数据定义语言&#xff09;语句和 DML&#xff08;数据操…

Linux centos7安装nginx-1.24.0并且实现自启动

1.安装之前的操作 ps -ef|grep nginx 查看是否有运行 如果有就杀掉 kill -9 pid find / -name nginx 查看nginx文件 rm -rf file /usr/local/nginx* 通通删掉删掉 yum remove nginx 限载一下服务 1.2.下载安装包 地址 nginx: download 2.减压文件 tar…

二叉树的层次遍历经典问题-算法通关村

二叉树的层次遍历经典问题-算法通关村 1 层次遍历简介 广度优先在面试里出现的频率非常高&#xff0c;整体属于简单题。广度优先又叫层次遍历&#xff0c;基本过程如下&#xff1a; 层次遍历就是从根节点开始&#xff0c;先访问根节点下面一层全部元素&#xff0c;再访问之后…

stable diffusion 提示词进阶语法-年龄身材肤色-学习小结

stable diffusion 提示词进阶语法-年龄&身材&肤色 前言年龄提示词青年&#xff08;18-25岁&#xff09;幼年、少年&#xff08;1-18&#xff09;中年&#xff08;35-60岁&#xff09;老年&#xff08;65-80岁 老爷爷 老奶奶&#xff09; 身材提示词肤色关键词(人物基础…

Ubuntu 22.04安装Python3.10.13

Ubuntu最好设置为英文&#xff0c;我之前用中文在make的test的时候&#xff0c;总是会有fail。 查了下有人怀疑是language的问题&#xff0c;保险起见都用英文&#xff0c;个人实践也证明改为英文就不报错了。 issue 44031: test_embed and test_tabnanny fails if the curre…

删除了几个月的照片能找回么 怎么找回半年前删除的照片 数据恢复软件推荐

照片定格了风景&#xff0c;保存了记忆&#xff0c;是我们对过往的一种留念。在数字化的今天&#xff0c;我们越来越习惯把照片存放在电脑里面&#xff0c;随着占用的空间越来越大&#xff0c;我们也会经常处理不用的照片。当然&#xff0c;难免有时候也会误删有用的照片。本篇…

STM32 AD单通道函数设计

单片机学习&#xff01; 目录 文章目录 前言 一、ADC配置步骤 二、详细步骤 2.1 开启RCC时钟 2.2 配置GPIO 2.3 配置多路开关 2.4 配置ADC转换器 2.5 开启ADC电源 2.6 ADC进行校准 2.6.1 复位校准 2.6.2 等待复位校准完成 2.6.3 开始校准 2.6.4 等待校准完成 三、启动AD转换函数…

STM32不使用中断实现定时器微秒级精确延时

我们在写代码的时候避免不了要使用延时函数&#xff0c;很多延时函数都是使用中断或者tick来实现的&#xff0c;tick的方式最大到毫秒ms级别&#xff0c;通过中断方式的通用定时器来实现&#xff0c;如果实现1us的延时那么每1us就来一次中断&#xff0c;很影响cpu的效率。 本文…

程序员表白

啥&#xff1f;&#xff01;你说程序员老实&#xff0c;认真工作&#xff0c;根本不会什么表白&#xff01;那你就错了&#xff01;(除了我) 那今天我们就来讲一下这几个代码&#xff01;赶紧复制下来&#xff0c;这些代码肯定有你有用的时候&#xff01; 1.Python爱心代码 im…