821 字符的最短距离

news/2025/2/27 8:45:57/

给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。

返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。

两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。

class Solution {
public:vector<int> shortestToChar(string s, char c) {//输出距离vector<int>ans(n);//定义n为字符串长度int n=s.size();//从左往右遍历字符串,c当前位置存为-n,保证一开始足够大for(auto i=0,idx=-n;i<s.size();i++){//如果当前字母与c相等if(c==s[i]){//更新c的当前位置idx=i;}//保存距离ans[i]=abs(i-idx);}//从右往左遍历字符串,c当前位置存为2n,保证最右边字母距离足够大for(int i=n-1,idx=2*n;i>=0;i--){//如果当前字母等于cif(c==s[i]){//更新c的位置idx=i;}//更新c的位置,与从左往右遍历取最小值ans[i]=min(ans[i],abs(i-idx));}//返回输出return ans;}
};


http://www.ppmy.cn/news/1575219.html

相关文章

8.Dashboard的导入导出

分享自己的Dashboard 1. 在Dashboard settings中选择 JSON Model 2. 导入 后续请参考第三篇导入光放Dashboard&#xff0c;相近

SOC-ATF 安全启动BL31流程分析(3)

一、BL31启动流程 与bl1和bl2不同&#xff0c;bl31包含两部分功能&#xff0c;在启动时作为启动流程的一部分&#xff0c;执行软硬件初始化以及启动bl32和bl33镜像。在系统启动完成后&#xff0c;将继续驻留于系统中&#xff0c;并处理来自其它异常等级的smc异常&#xff0c;以…

为AI聊天工具添加一个知识系统 之124 详细设计之65 人类文化和习俗,即文化上的差异-根本差异 之2

本文要点 要点 “取” 本身 是一个具有 主谓宾 三格的 多“格”词。 三“格”&#xff08;主/谓/宾&#xff09;分别是&#xff1a; 主取&#xff0c;取法&#xff08;能取&#xff1a;两组分别 是 析取取“异”&#xff08;三个“不同”&#xff09;和合取取“同”&#xf…

JxBrowser 7.42.1 版本发布啦!

JxBrowser 7.42.1 版本发布啦&#xff01; • 已将 Chromium 更新至更新版本 • 实施了多项质量修复 &#x1f517; 点击此处了解更多详情。 &#x1f193; 获取 30 天免费试用。

Notexpress-因为没有打开的文档,所以这一命令无效

插件可能没注册上&#xff1f; 您试试从NE里点选项-扩展&#xff0c;卸载极速版插件&#xff0c;再安装一次试试。

智慧物业平台(springboot小程序论文源码调试讲解)

第4章 系统设计 用户对着浏览器操作&#xff0c;肯定会出现某些不可预料的问题&#xff0c;但是不代表着系统对于用户在浏览器上的操作不进行处理&#xff0c;所以说&#xff0c;要提前考虑可能会出现的问题。 4.1 系统设计思想 系统设计&#xff0c;肯定要把设计的思想进行统…

嵌入式硬件篇---阶跃函数冲激函数

文章目录 前言一、阶跃函数&#xff08;Unit Step Function&#xff09;1.定义2.数学定义3.性质时移性质与其他信号的乘积积分与微分 4.应用场景系统测试信号建模构建复杂信号 二、冲激函数&#xff08;Dirac Delta Function&#xff09;1.定义2.性质抽样性质缩放性质与阶跃函数…

在Linux、Windows和macOS上部署DeepSeek模型的最低配置要求

随着大语言模型&#xff08;如DeepSeek&#xff09;的普及&#xff0c;许多开发者和企业希望在本地环境中部署这类模型以满足定制化需求。然而&#xff0c;不同操作系统的软硬件生态差异较大&#xff0c;选择合适的配置是成功部署的关键。本文将为Linux、Windows和macOS用户提供…