JZ50、JZ57、JZ56

news2024/11/24 4:18:13

文章目录

  • JZ50 第一个只出现一次的字符
    • 题目描述:
    • 具体实现:
  • JZ57 和为S的两个数字
    • 题目描述:
    • 具体实现:
  • JZ56 数组中只出现一次的两个数字
    • 题目描述
    • 具体实现:

JZ50 第一个只出现一次的字符

题源 👉 第一个只出现一次的字符_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230213160501714

具体实现:

方法一:哈希表

import java.util.*;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        Map<Character,Integer> map = new HashMap<>();
        for(int i = 0; i < str.length(); i++)
            map.put(str.charAt(i), map.getOrDefault(str.charAt(i), 0)+1);
        for(int i = 0; i < str.length(); i++){
            if(map.get(str.charAt(i)) == 1)
                return i;
        }
        return -1;
    }
}

时间:O(n)

空间:O(1) 哈希表大小不会超过字符集(52个字符),属常数空间


JZ57 和为S的两个数字

题源 👉 和为S的两个数字_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230213170055899

具体实现:

  • 方法一:双指针
import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
        int l = 0, r = array.length - 1;
        ArrayList<Integer> list = new ArrayList<>();
        while(l < r){
            int a = array[l] + array[r];
            if(a == sum){
                list.add(array[l]);
                list.add(array[r]);
                return list;
            }else if(a < sum){
                l++;
            }else{
                r--;
            }
        }
        return list;
    }
}

时间:O(n)

空间:O(1)


JZ56 数组中只出现一次的两个数字

题源 👉 数组中只出现一次的两个数字_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=265&rp=1&ru=%2Fexam%2Foj%2Fta&qru=%2Fexam%2Foj%2Fta&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D13%26type%3D265&difficulty=&judgeStatus=&tags=&title=最小的k个数&gioEnter=menu)

题目描述

image-20230213170803774

具体实现:

方法一:哈希表

import java.util.*;


public class Solution {
    public int[] FindNumsAppearOnce (int[] array) {
        int[] ans = new int[2];
        Map<Integer, Integer> map = new HashMap<>();
        for(int i = 0; i < array.length; i++)
            map.put(array[i], map.getOrDefault(array[i], 0)+1);
        for(int i = 0, j = 0; i < array.length; i++){
            if(j == 2) break;
            if(map.get(array[i]) == 1)
                ans[j++] = array[i];
        }
        if(ans[0] > ans[1]){
            int temp = ans[0];
            ans[0] = ans[1];
            ans[1] = temp;
        }
        return ans;
    }
}

时间:O(n)

空间:O(n)


方法二:异或运算 源自官方题解👉 题解 | #数组中只出现一次的两个数字#_牛客博客 (nowcoder.net)

image-20230213211048176

image-20230213211106587

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

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

相关文章

在线预览PDF文件、图片,并且预览地址不显示文件或图片的真实路径。

实现在线预览PDF文件、图片&#xff0c;并且预览地址不显示文件或图片的真实路径。1、vue使用blob流在线预览PDF、图片&#xff08;包括jpg、png等格式&#xff09;。1、按钮的方法&#xff1a;2、方法详细&#xff1a;&#xff08;此方法可以在发起请求时携带token&#xff0c…

Data2Vec:视觉、语音和语言的语境化目标表征的高效自监督学习

Efficient Self-supervised Learning with Contextualized Target Representations for Vision, Speech and Language &#xff08;视觉、语音和语言的语境化目标表征的高效自监督学习&#xff09; 论文&#xff1a;efficient-self-supervised-learning-with-contextualized-t…

【Hello Linux】Linux工具介绍 (gcc/g++ gdb)

作者&#xff1a;小萌新 专栏&#xff1a;Linux 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍Linux的常用工具gcc/g 以及gbd Linux工具介绍gcc / ggcc / g的作用为什么语言要经过这四步才能变为可执行指令gcc / g语法预处理编…

机器学习强基计划8-1:图解主成分分析PCA算法(附Python实现)

目录0 写在前面1 为什么要降维&#xff1f;2 主成分分析原理3 PCA与SVD的联系4 Python实现0 写在前面 机器学习强基计划聚焦深度和广度&#xff0c;加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理&#xff1b;“广”在分析多个机器学习模型&#xf…

MATLAB | 情人节来绘制更立体的玫瑰花吧

又是一年情人节&#xff0c;今年带来一款更有立体感的玫瑰&#xff1a; 曲面的函数表达式来自: http://www.bugman123.com/Math/index.html 这个网站&#xff0c;上面还有很多其他帅气的玩意。 基础绘制 xlinspace(0,1,300); thetalinspace(-2*pi,15*pi,300); [x,theta]meshg…

【历史上的今天】2 月 14 日:第一台通用计算机面世;IBM 成立;Julia 公开发布

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 2 月 14 日&#xff0c;在 1819 年的今天&#xff0c;打字机和第一台 QWERTY 布局键盘的发明者克里斯托弗肖尔斯&#xff08;Christopher Sholes&#xff09;出…

API文档自动生成工具

一、参考资料 从Python源码注释&#xff0c;自动生成API文档 二、问题引入 不管是开源还是闭源&#xff0c;要让所有人都能读懂你的代码这太难了&#xff0c;所以文档是很重要的。大部分情况&#xff0c;我们不希望维护一份代码再加上一份文档&#xff0c;这样做很容易造成文…

Springboot扩展点之InitializingBean

前言InitializingBean这个扩展点&#xff0c;其实在Springboot扩展点之BeanPostProcessor中已经简单有所涉及&#xff0c;而这篇文章的将重点分析其功能特性、实现方式和工作原理。功能特性1、Spring中提供了InitializingBean接口&#xff0c;帮助用户实现一些自定义的初始化操…

为什么学了模数电还是看不懂较复杂的电路图

看懂电路并不难。 (1) 首先要摆正心态&#xff0c;不要看到错综复杂的电路图就一脸懵逼&#xff0c;不知所错。你要明白&#xff0c;再复杂的电路也是由一个个的基本电路拼装出来的。 (2) 基础知识当然是少不了的&#xff0c;常用的基本电路结构搞搞清楚。 (3) 分析电路之前先要…

Unity通俗易懂的讲解PPU(Pixel Per Unit)与Camera Size

目录 前言 Unity的一个单位 Camera Size Pixel Per Unit的具体含义 前言 unity 2d中的sprite &#xff0c;具有一个参数&#xff1a;Pixel Per Unit 初学者往往不知道这个代表什么意思&#xff0c;如何理解&#xff0c;怎么设置&#xff0c;这个在unity的美术素材的使用也…

DynamicPDF HTML Converter for .NET 1.9 Crack

.NET HTML 到 PDF 转换库,快速将 HTML 转换为 PDF,转换为文件或字节数组,多线程性能 DynamicPDF Converter for .NET is a .NET API that allows developers to dynamically convert many common file formats to PDF documents in real-time. Converter supports converting …

使用Cifar10训练DenseNet121

DenseNet默认就是DenseNet-BC, 相对于resnet&#xff0c;densenet权重参数更少&#xff0c;鲁棒性更强. &#xff10;、下载数据集&#xff1a;Cifar-10在同级文件data下 预训练权重&#xff1a; densenet121: https://download.pytorch.org/models/densenet121-a639ec97.pth…

C++ 之基本数据类型(整型、布尔型及字符型)

文章目录参考描述数据类型整形有符号无符号规则sizeof 运算符进制cout 的自动转换&#xff08;进制&#xff09;后缀验证溢出主动权溢出布尔型变量判断结果字符型ASCII细节范围参考 项目描述菜鸟教程数据类型搜索引擎GoogleC Primer Plus &#xff08;第六版&#xff09;中文版…

深度学习目标检测_YOLOV4超详细解读

文章目录一. 前言yolov4的创新点2.1 输入端的创新2.1.1数据增强2.1.2自对抗训练&#xff08;SAT&#xff09;2.2BackBone创新Dropblock标签平滑损失函数IOU LossGIOU LossDIOU LossCIOU Loss一. 前言 作者AlexeyAB大神&#xff01; YOLOv4 拥有43.5%mAP65FPS &#xff0c;达到…

C语言(利用函数将字符串转换为数字和数子转换字符串)

目录 1.atoi(字符串转换为int类型) 2.atof(字符串转换为float类型) 3.atol(字符串转换为long类型) 4.strtol(字符串转换为long类型,但可以选择转换的进制&#xff0c;以及标记结束字符地址) 5.strtod(字符串转换为double类型,可以标记结束字符地址) 6.整数和浮点数转换为…

项目进度经常超时怎么办?项目经理如何有效管理项

当项目延期&#xff0c;我们要先找根因&#xff0c;再根据根因制定具体针对性措施。如果是故障&#xff0c;第一时间是以修复问题为主&#xff0c;然后去找原因&#xff0c;最终给出对应的措施。 对于项目进度&#xff0c;那首先要去了解延期的原因&#xff0c;是计划制定的不…

vite 项目切换不同依赖项的分支,运行加载缓慢问题的解决方案(Pre-bundling dependencies)

前言 当我们在首次使用 yarn dev 命令启动 vite 时&#xff0c;或者 切换分支&#xff0c;依赖项发生变化时 会发现项目启动时相当的慢&#xff0c;大概要十几分钟&#xff0c;而且控制台终端打印了如下信息&#xff1a; Pre-bundling dependencies: this will be run only …

vivo官网App模块化开发方案-ModularDevTool

作者&#xff1a;vivo 互联网客户端团队- Wang Zhenyu 本文主要讲述了Android客户端模块化开发的痛点及解决方案&#xff0c;详细讲解了方案的实现思路和具体实现方法。 说明&#xff1a;本工具基于vivo互联网客户端团队内部开源的编译管理工具开发。 一、背景 现在客户端的业…

【Jqgrid分页勾选保存】三步实现表格分页勾选(取消勾选)保存(附源码)

目录1、创建临时存储数组&#xff0c;初始化赋值2、单行选中与取消&#xff0c;调整数组3、全选与取消全选&#xff0c;调整数组4、输出数组保存5、片尾彩蛋【写在前面】表格可以说是在我们的web页面中是最常见的&#xff0c;之前我们介绍过layui表格翻页勾选的实现过程&#x…

到2030年,边缘计算潜在市场将增长至4450亿美元!

国际电信咨询公司STL Partners近日出了一份边缘计算关键数据统计&#xff0c;重点介绍了九项边缘计算统计数据&#xff0c;边小缘着手翻译了一下这些数据&#xff0c;这些数据预测显示了边缘计算市场的增长潜力&#xff0c;以及边缘部署数量最多的垂直行业和地区。1.到2030年&a…