仓颉刷题录-字符串数字转换(一)
文章目录
- 背景
- 题目:交换后字典序最小的字符串
- 个人感受
这是双子专栏: Cangjie仓颉程序设计-个人总结
本专栏还在持续更新: 仓颉编程cangjie刷题录
背景
报名了一个仓颉的比赛,感觉条件要求挺低的,就想上。哈哈哈。但是学起来真是很糟心,没有资料,只有官方文档,官方文档写的也就那样。一天下来就刷了这么一道简单题。
题目:交换后字典序最小的字符串
题目链接
给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。
如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。
class Solution {func getSmallestString(s: String): String {var arr = Array(s) // Array<UInt8>var zero = "0" // Stringfor (i in 0..s.size-1) {var a = arr[i] - zero[0] // UInt8var b = arr[i + 1] - zero[0]if (a > b && a % 2 == b % 2) {var t = arr[i]arr[i] = arr[i + 1]arr[i + 1] = tbreak}}var res = Array<Rune>(s.size) {i => Rune(0)}for (i in 0..s.size) {res[i] = Rune(arr[i])}return String(res)}
}
个人感受
这个语言六月份正式发布,属于是gpt都没学过的存在,网上资料也基本都是抄官方文档。所以写起来就究极蛋疼!
我就是想随便选一道题先试试水,谁知道遇到了cangjie的一系列大槽点:
- cangjie默认字符为Unicode编码,而且String类型的单个元素取出来类型竟然是一个字节的整型UInt8!
- 字符只支持转换为32字节的无符号整型UInt32。
- 字符串不支持修改
本来Unicode我都懵了,这还咋玩字符和数字的转换,搜了一下发现值在一个字节内的简单字符Unicode值与ASCII值相同的,这让我松了一口气。
然而,上面三点一列我就试了一天怎么弄。妈的官方的String文档那么大篇幅就写了怎么赋值,可以用+拼接和能比字典序,我真是服了,连初始化都不写,我是凭借逻辑试了一下直接用String(Array)初始化。然后又是类型错误,这种方式只支持Array<Rune>类型.
总之,这道题就是各种乱七八糟的格式转换。总结如下:
- 先拿到一个可修改的数组, arr = Array(s),类型为Array<UInt8>
- 拿到字符’0’的Unicode值:构建字符串 zero=“0”,那么得到其Unicode值为 zero[0]
- 拿到字符的数字值:arr[i] - zero[0]
- 做处理
- 拿到一个 Array<Rune>类型的数组 res
- 把 arr里面的东西腾到 res里面
- String(res)即可
相关文章:
仓颉刷题录-字符串数字转换(一)
文章目录 背景题目:交换后字典序最小的字符串个人感受 这是双子专栏: Cangjie仓颉程序设计-个人总结 本专栏还在持续更新: 仓颉编程cangjie刷题录 背景 报名了一个仓颉的比赛,感觉条件要求挺低的,就想上。哈哈哈。但…...
SpringBoot【实用篇】- 配置高级
文章目录 目标:1.ConfigurationProperties2.宽松绑定/松散绑定3. 常用计量单位绑定4.数据校验 目标: ConfigurationProperties宽松绑定/松散绑定常用计量单位绑定数据校验 1.ConfigurationProperties ConfigurationProperties 在学习yml的时候我们了解…...
liunx CentOs7安装MQTT服务器(mosquitto)
查找 mosquitto 软件包 yum list all | grep mosquitto出现以上两个即可进行安装,如果没有出现则需要安装EPEL软件库。 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm查看 mosquitto 信息 yum info mosquitto安装 mosquitt…...
【银河麒麟高级服务器操作系统】虚拟机lvm分区丢失现象分析及解决建议
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 环境描述 系统环境 物理机/虚拟机/云/容器 虚拟…...
Android 原子性类型都有哪些
1. 基本类型原子类 AtomicInteger:用于对整数进行原子操作,如incrementAndGet()方法可以原子地将当前值加1并返回新值,getAndSet()方法可以原子地设置新值并返回旧值。AtomicLong:和AtomicInteger类似,用于长整型的原…...
MySQL(上)
一、SQL优化 1、如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因? 对于性能比较低的sql语句定位,最重要的也是最有效的方法其实还是看sql的执行计划,而对于mysql来说&a…...
ffplay 实现视频流中音频的延迟
ffplay -rtsp_transport tcp -i rtsp://admin:1234qwer192.168.1.64:554/Streaming/Channels/101 -vn -af "adelay5000|5000"在这个命令中: -vn 参数表示只播放音频。 -af "adelay5000|5000" 参数表示将音频延迟5000毫秒(即5秒&…...
CSDN资源变现
根据搜索结果,CSDN资源变现主要有以下几种方式: 1、上传付费资源: 用户可以在CSDN上上传资源并设置付费,其他用户支付费用下载这些资源,上传者则获得一部分收益。这种方式适合上传大量资源,通过量变达到质变…...
Rembg模型构建教程
一、介绍 Rembg,全称为“Remove Background”,是一款基于深度学习的图像背景去除工具。它的主要功能是通过智能识别图像中的前景物体,并将其从背景中分离出来,从而创建具有透明背景的图像。 二、基础环境 系统:Ubun…...
向量的基础知识和矩阵向量的坐标旋转
向量的基础: 定义: 既有大小,又有方向的量叫做向量(Vector)。 在几何上,向量用有向线段来表示,有向线段长度表示向量的大小,有向线段的方向表示向量的方向。其实有向线段本身也是向…...
GeoSever发布图层(保姆姬)
发布服务的具体步骤。 1. 安装 GeoServer 下载 GeoServer 安装包:GeoServer 官网按照安装说明进行安装,可以选择 Windows、Linux 或其他平台。 2. 启动 GeoServer 启动 GeoServer 通常通过访问 http://localhost:8080/geoserver 进行。默认用户名和密…...
AI 大模型的发展趋势是怎样的?
AI 大模型的发展趋势呈现出多方面的特点,包括技术、应用、商业模式等多个维度,具体如下: 技术层面: 多模态融合:未来,AI 大模型将不断加强对多模态数据的处理能力,融合文本、图像、音频、视频等…...
win10怎么关掉自动更新-小白必看
1.搜索栏搜索服务单机点开 2.在服务里面找到windows Update服务双击进去 3.如下图把他禁用然后点应用即可...
大学城水电资源管理:Spring Boot解决方案
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理大学城水电管理系统的相关信息成为必然。开…...
躺平成长-运营日记-第三天
开源竞争: (自己没有办法完全掌握技术的时候就开源掉,培养出更多的技术依赖,让更多的人完善你的技术,那么这不就是在砸罐子吗?一个行业里面你不去砸罐子,其他人就会砸罐子,你不如先砸…...
智慧税务管理:金融企业报税效率与合规性提升
前言 在数字化浪潮席卷全球的今天,金融行业正面临前所未有的挑战与机遇。如何在复杂的税务环境中保持合规并提高效率,已成为每个金融企业的重中之重。今天小编就为大家介绍一下如何通过借助智能税务平台,实现税务管理的智能化革新࿰…...
linux之网络子系统-用户层接收数据包之同步阻塞方案
一、前言 之前讲述了网络包是如何从网卡送到协议栈的,接下来内核还有一项重要的工作,就是在协议栈接收处理完输入包后要通知到用户进程,如何用户进程接收到并处理这些数据。 进程与内核配合有多种方案,这里我们这分析两种典型的…...
【天线&空中农业】花生霉变检测系统源码&数据集全套:改进yolo11-LVMB
改进yolo11-goldyolo等200全套创新点大全:花生霉变检测系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.11.01 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或者视…...
全志A133 android10 LVDS幅值调节
一,问题现象 系统使用LVDS接口屏幕,进入系统有些界面会闪,图像抖动; 二,解决办法: 1.调试 调节LCD0的LVDS电压幅度,寄存器地址是0x06511220(具体是在User Manual中的LCD LVDS Ana…...
弃用 RestTemplate,来了解一下官方推荐的 WebClient !
在 Spring Framework 5.0 及更高版本中,RestTemplate 已被弃用,取而代之的是较新的 WebClient。这意味着虽然 RestTemplate 仍然可用,但鼓励 Spring 开发人员迁移到新项目的 WebClient。 WebClient 优于 RestTemplate 的原因有几个ÿ…...
YOLO12开源模型合规部署:离线环境+审计日志+模型版本固化方案
YOLO12开源模型合规部署:离线环境审计日志模型版本固化方案 1. 项目背景与核心价值 YOLO12作为Ultralytics在2025年推出的最新实时目标检测模型,在保持高速推理性能的同时显著提升了检测精度。其引入的注意力机制优化了特征提取网络,nano版…...
构建智能体的专业技能树 - Agent Skills生态全析(中篇)
一、概述 这篇文章我们将围绕Skills、Tools、MCP、Subagents 四个组件有什么区别、Anthropic 官方做好了哪些现成 Skills、如何从零创建一个自定义 Skill 的完整流程 这些四个方面来进行讲解。 二、智能体生态系统概览 在 Anthropic 构建的智能体生态中,多种技术组件…...
告别文献堆砌!PaperXie AI 文献综述:重构学术写作逻辑,3 步打造导师青睐的深度综述
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ai/journalsReviewedhttps://www.paperxie.cn/ai/journalsReviewed 在学术写作的漫漫长路上,文献综述宛如横亘在无数本科生、研究生面前的 "天堑"—— …...
xiaomusic设备DID配置故障排除与优化指南
xiaomusic设备DID配置故障排除与优化指南 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic xiaomusic作为一款开源的小爱音响音乐服务工具,让用户能够通过…...
FactoryBluePrints:颠覆性全流程工厂自动化解决方案
FactoryBluePrints:颠覆性全流程工厂自动化解决方案 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints是戴森球计划的开源蓝图仓库,…...
Python新手福音:借助快马AI零基础构建你的第一个行情网站
作为一个刚接触Python的新手,想要构建一个行情网站听起来可能有点吓人。但通过InsCode(快马)平台的AI辅助,整个过程变得异常简单。下面我就分享一下自己从零开始搭建第一个行情网站的经历。 数据获取部分 首先需要找到一个免费的金融数据接口。我选择了一…...
《数据驱动防折叠:利用企微API与数据分析平台构建智能发送决策系统》
一、问题背景企微群发折叠与用户的历史互动行为紧密相关。对长期未交互的用户发送营销内容,折叠概率极高;而对活跃用户发送相似内容,则可能正常显示。因此,单纯从发送端进行策略优化是不够的,必须引入用户维度的数据&a…...
OpCore-Simplify:三步解决黑苹果配置难题的零代码自动化工具
OpCore-Simplify:三步解决黑苹果配置难题的零代码自动化工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 问题诊断:黑苹果配…...
5个场景带你体验KISS Translator:让网页双语阅读不再是难题
5个场景带你体验KISS Translator:让网页双语阅读不再是难题 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcod…...
终极无损视频剪辑神器:LosslessCut完整指南与5大实用技巧
终极无损视频剪辑神器:LosslessCut完整指南与5大实用技巧 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 你是否曾因视频剪辑导致画质下降而烦恼ÿ…...
