当前位置: 首页 > news >正文

Leetcode 387. First Unique Character in a String

Problem

Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.

Algorithm

Use two lists: one list is used to count the letters in “s”; the other list is the position where the letter first appears. Then find the smallest position of the letters appear once.

Code

class Solution:def firstUniqChar(self, s: str) -> int:sCnts = [0] * 26sStart = [0] * 26cnts = 0for c in s:sCnts[ord(c) - ord('a')] += 1if sCnts[ord(c) - ord('a')] == 1:sStart[ord(c) - ord('a')] = cntscnts += 1index = -1for i in range(26):if sCnts[i] == 1 and (index < 0 or index > sStart[i]):index = sStart[i]return index

相关文章:

Leetcode 387. First Unique Character in a String

Problem Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1. Algorithm Use two lists: one list is used to count the letters in “s”; the other list is the position where the letter first …...

c++ 自己实现一个迭代器

具体代码 /*自定义迭代器的实现 */ #include <iostream> using namespace std; class num {int val; //具体的数字int length; //数字的位数void calculate_length(){if(val/100){ //这个数字只有1位length1;return;}int x10; //这里就是不断重复除直…...

HarmonyOS NEXT应用开发—图片压缩方案

介绍 图片压缩在应用开发中是一个非常常见的需求&#xff0c;特别是在处理用户上传图片时&#xff0c;需要上传指定大小以内的图片。目前图片压缩支持jpeg、webp、png格式。本例中以jpeg图片为例介绍如何通过packing和scale实现图片压缩到目标大小以内。 效果图预览 使用说明…...

深入理解nginx的请求限速模块[下]

目录 3. 源码分析3.1 配置指令3.1.1 limit_req_zone指令3.1.2 limit_req指令3.1.3 limit_req_dry_run指令3.1.4 limit_req_log_level指令3.1.5 limit_req_status指令3.2 模块初始化3.3 请求处理3.3.1 ngx_http_limit_req_handler3.3.1 ngx_http_limit_req_lookup3.3.2 ngx_http…...

王者归位:Kafka控制器组件解析

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 王者归位&#xff1a;Kafka控制器组件解析 前言控制器组件简介控制器组件的定义和作用&#xff1a;为什么控制器是分布式系统的核心&#xff1f; 保存了什么数据控制器的指定和切换故障转移控制器故障…...

XmlHttpRequest responseType: ‘stream‘ 图片代理服务器

它是一个存在于原生 XMLHttpRequest 对象中的属性。在 Web API 中&#xff0c;XMLHttpRequest 对象用于发送 HTTP 或 HTTPS 请求到服务器&#xff0c;并接收响应。responseType 属性就是用来指定预期从服务器返回的响应数据的类型。 默认值 responseType的默认值为json&#x…...

手写 UE4中的 TArray

#pragma once #include<iostream> #include<stdexcept> #define CHECK_INDEX_RANGE(Index) if (Index > ElementCount) throw std::out_of_range("索引超出界限")template<typename ElementType> class TArray {typedef unsigned int uint; pri…...

Flink实时写Hudi报NumberFormatException异常

Flink实时写Hudi报NumberFormatException异常 问题描述 在Flink项目中&#xff0c;针对Hudi表 xxxx_table 的 bucket_write 操作由于 java.lang.NumberFormatException 异常而从运行状态切换到失败状态。异常信息显示在解析字符串"ddd7a1ec"为整数时出现了问题。报…...

Dataset与DataLoader、transform

文章目录 1、Dataset2、DataLoader2.1 参数详解2.1.1 num_works2.1.2 pin_memory2.1.3 collate_fn 3、图像增强4、重写transform 1、Dataset 在 PyTorch 中&#xff0c;如果要创建自定义的数据集&#xff08;Dataset&#xff09;&#xff0c;通常会继承 torch.utils.data.Data…...

海豚调度系列之:认识海豚调度

海豚调度系列之&#xff1a;认识海豚调度 一、海豚调度二、特性三、建议配置四、名次解释 一、海豚调度 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过…...

MateBook 14s 2023款 集显 触屏(HKFG-16)原厂Win11系统

HUAWEI华为MateBook14s笔记本电脑2023款原装Windows11&#xff0c;恢复出厂开箱状态系统下载 适用型号&#xff1a;HKFG-XX、HKFG-16、HKFG-32 链接&#xff1a;https://pan.baidu.com/s/1GBPLwucRiIup539Ms2ue0w?pwdfm41 提取码&#xff1a;fm41 原厂系统自带所有驱动、…...

zookeeper快速入门(合集)

zookeeper作为一个分布式协调框架&#xff0c;它的创建就是为了方便或者简化分布式应用的开发。除了服务注册与发现之外&#xff0c;它还能够提供更多的功能&#xff0c;但是对于入门来说&#xff0c;看这一篇就够了。后续会讲zookeeper的架构设计与原理&#xff0c;比如zookee…...

鸿蒙App开发学习 - TypeScript编程语言全面开发教程(上)

背景 根据鸿蒙官方的说明&#xff1a; ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript&#xff08;简称TS&#xff09;生态基础上做了进一步扩展&#xff0c;继承了TS的所有特性&#xff0c;是TS的超集。因此&#xff0c;在学习ArkTS语言之前&#…...

Java语言: JVM

1.1 内存管理 1.1.1 JVM内存区域 编号 名字 功能 备注 1 堆 主要用于存放新创建的对象 (所有对象都在这里分配内存) jdk1.8之后永久代被替换成为了元空间&#xff08;Metaspace&#xff09; 2 方法区(加、常、静、即) 被虚拟机加载的类信息(版本、字段、方法、接口…...

下拉树级带搜索功能

可以直接复制粘贴到自己的项目里,方法处把接口替换一下 <template><div><el-popoverplacement"bottom"width"200"trigger"click"><el-inputslot"reference"class"mrInput":placeholder"placehol…...

【数组、字符串】算法例题

每个题的【方法1】是自己的思路&#xff0c;【其他方法】是力扣上更优的解题思路 目录 一、数组、字符串 1. 合并两个有序数组 ① 2. 移除元素 ① 3. 删除有序数组中的重复项 ① 4. 删除有序数组中的重复项 II ② 5. 多数元素 ① 6. 轮转数组 ② 7. 买卖股票的最佳时机…...

docxTemplater——从word模板生成docx文件

官网文档&#xff1a;Get Started (Browser) | docxtemplater 官网在线演示&#xff1a;Demo of Docxtemplater with all modules active | docxtemplater 源码&#xff1a;https://github.com/open-xml-templating/docxtemplater 不仅可以处理word&#xff08;免费&#xf…...

Linux权限维持后门及应急响应

本次应急响应实验用kali和centos7来充当攻击机和靶机 kali&#xff1a;192.168.10.130 centos7&#xff1a;192.168.10.155 前提&#xff1a; 用kali连接到centos7上面ssh root192.168.10.155 一、SSH软链接 任意密码登录即可发现程度&#xff1a;|||||| ln -sf /usr/sbi…...

git相关指令

1、使用 Git 初始化本地仓库&#xff1a; 在命令行中&#xff0c;首先进入你的项目目录&#xff0c;然后使用以下命令初始化一个本地 Git 仓库&#xff1a; git init2、添加文件到本地仓库&#xff1a; 将你的项目文件添加到本地仓库中&#xff0c;使用以下命令&#xff1a; …...

Apache Doris 2.1 核心特性 Variant 数据类型技术深度解析

在最新发布的 Apache Doris 2.1 新版本中&#xff0c;我们引入了全新的数据类型 Variant&#xff0c;对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列&#xff0c;彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。为了让大家快速…...

使用RyTuneX提升Windows性能:系统优化全指南

使用RyTuneX提升Windows性能&#xff1a;系统优化全指南 【免费下载链接】RyTuneX RyTuneX is a cutting-edge optimizer built with the WinUI 3 framework, designed to amplify the performance of Windows devices. Crafted for both Windows 10 and 11. 项目地址: https…...

一键部署+可视化训练:Llama Factory让大模型定制如此简单

一键部署可视化训练&#xff1a;Llama Factory让大模型定制如此简单 1. 为什么选择Llama Factory&#xff1f; 大模型微调一直是AI开发者面临的技术挑战之一。传统方法需要编写大量代码、处理复杂的环境配置&#xff0c;并且对硬件资源要求极高。Llama Factory的出现彻底改变…...

Claude Code每日更新速览(v2.1.90)-2026/04/02

本文前言&#xff1a; Claude Code 的进化速度&#xff0c;已经到了一种让人来不及消化的程度。根据 github.com/anthropics/claude-code/blob/main/CHANGELOG.md 获取最新的变更&#xff0c;跟紧 Claude Code新功能、新趋势。最新版本&#xff1a;v2.1.90提交时间&#xff1a;…...

014、硬件加速篇:利用GPU、NPU及专用芯片优化RAG推理与检索

014、硬件加速篇&#xff1a;利用GPU、NPU及专用芯片优化RAG推理与检索从一次深夜调试说起 有次凌晨两点&#xff0c;我盯着监控面板上那条刺眼的99%分位延迟曲线——我们的RAG系统在晚高峰时响应时间飙到了3秒以上。拆开看&#xff0c;检索阶段倒还稳定&#xff0c;问题出在重…...

CogVideoX-2b行业落地:媒体公司内容生产提效实战分享

CogVideoX-2b行业落地&#xff1a;媒体公司内容生产提效实战分享 1. 前言&#xff1a;视频内容生产的痛点与机遇 作为一家媒体公司的技术负责人&#xff0c;我深知视频内容生产面临的挑战。每天需要制作大量短视频内容&#xff0c;从新闻快讯到产品介绍&#xff0c;从社交媒体…...

Qt qDebug高级调试技巧:从流式输出到自定义日志格式

1. 流式输出的艺术&#xff1a;让调试信息更优雅 第一次接触Qt的开发者往往会被qDebug的流式输出惊艳到——它比传统的printf风格更符合现代C的编码习惯。我在重构一个老项目时&#xff0c;曾经需要同时输出用户ID、操作类型和时间戳三个变量。用传统方法需要写三行printf&…...

物理动力学系统的强化学习:一种替代方法

原文&#xff1a;towardsdatascience.com/rl-for-physical-dynamical-systems-an-alternative-approach-8e2269dc1e79?sourcecollection_archive---------1-----------------------#2024-07-28 重新引入遗传算法并与神经网络进行比较 https://medium.com/retter_42511?sourc…...

YOLOv8实战:从数据增强到模型部署的完整Pipeline(附代码)

YOLOv8实战&#xff1a;从数据增强到模型部署的完整Pipeline&#xff08;附代码&#xff09; 计算机视觉领域的目标检测技术近年来取得了显著进展&#xff0c;其中YOLO系列算法因其高效性和准确性备受关注。作为该系列的最新成员&#xff0c;YOLOv8在保持实时检测速度的同时&am…...

保姆级教程:手把手教你下载SEED-VIG脑电数据集(附Gitee国内镜像地址)

从零到一&#xff1a;SEED-VIG脑电数据集的完整获取与解析指南 第一次接触SEED-VIG数据集时&#xff0c;我花了整整三天时间才搞明白如何正确下载和解析这个2.9GB的庞然大物。作为研究驾驶疲劳检测的重要资源&#xff0c;这个数据集的价值毋庸置疑&#xff0c;但获取过程却让不…...

PyTorch升级1.10.1后GPU失效?3分钟搞定CUDA环境回滚(以Colab对比为例)

PyTorch 1.10.1 GPU失效排查与CUDA环境精准回滚指南 当你满心欢喜地升级到PyTorch最新版本1.10.1&#xff0c;准备继续你的深度学习项目时&#xff0c;突然发现GPU无法正常工作——这种"昨天还能用&#xff0c;今天突然报错"的场景让许多开发者抓狂。本文将带你深入分…...