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

牛客NC31 第一个只出现一次的字符【simple map Java,Go,PHP】

题目

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

核心

	Map

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param str string字符串* @return int整型*/public int FirstNotRepeatingChar (String str) {Map<Character, int[]> map = new HashMap<>();for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (!map.containsKey(c)) {map.put(c, new int[] {i, 0});}int[] t = map.get(c);t[1] += 1;map.put(c, t);}for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);int[] t = map.get(c);if (t[1] == 1) {return t[0];}}return -1;}
}

参考答案Go

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param str string字符串 * @return int整型
*/
func FirstNotRepeatingChar( str string ) int {m:=map[byte][]int{}for i:=0;i<len(str);i++{var c byte = str[i]_,ok:= m[c]if !ok{m[c] = make([]int,2)m[c][0] =i}m[c][1] +=1}for i:=0;i<len(str);i++ {var c byte = str[i]if m[c][1] ==1 {return m[c][0]}}return -1
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param str string字符串 * @return int整型*/
function FirstNotRepeatingChar( $str )
{$map = array();for($i=0;$i<strlen($str);$i++){$c = $str[$i];if(!isset($map[$c])){$map[$c] = [0=>$i,1=>1];}else{$map[$c][1]+=1;}}for($i=0;$i<strlen($str);$i++) {$c = $str[$i];if($map[$c][1] ==1){return $map[$c][0];}}return  -1;
}
http://www.lryc.cn/news/328926.html

相关文章:

  • 软考系统架构设计师(摘抄)01
  • 5G无线接入网和接口协议
  • 【力扣刷题日记】1173.即时食物配送I
  • 2024年github之node排行榜top50
  • 当我们在地址栏输入URL的时候浏览器发生了什么
  • 【研发日记】Matlab/Simulink开箱报告(十一)——Requirements Toolbox
  • Elastic 8.13:Elastic AI 助手中 Amazon Bedrock 的正式发布 (GA) 用于可观测性
  • MFC 截取对话框生成图片、截取整个屏幕(可取黑白反色或者整体图片取反色)
  • 【LeetCode: 331. 验证二叉树的前序序列化 + DFS】
  • 【Consul】Linux安装Consul保姆级教程
  • pytorch常用的模块函数汇总(1)
  • 素数的计数律:Π函数、歪斜数
  • 图像识别在农业领域的应用
  • 【JavaSE】java刷题--数组练习
  • 预处理、编译、汇编、链接过程
  • 3、Cocos Creator 节点和组件
  • 【js刷题:数据结构数组篇之长度最小的子数组】
  • 大话设计模式之装饰模式
  • 国赛大纲解读
  • 设计模式(5):原型模式
  • 【React】vite + react 项目,进行配置 eslint
  • Windows入侵排查
  • C语言每日一题
  • TheMoon 恶意软件短时间感染 6,000 台华硕路由器以获取代理服务
  • 人脸68关键点与K210疲劳检测
  • 【跟着GPT4学JAVA】异常篇
  • Ubuntu上安装d4rl数据集
  • C++之STL整理(4)之set 用法(创建、赋值、增删查改)详解
  • IDEA MyBatisCodeHelper Pro最新版(持续更新)
  • sheng的学习笔记-AI-YOLO算法,目标检测