一个月速刷leetcodeHOT100 day 01
两数之和
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
//哈希表做法
function twoSum(nums, target) {
let obj = new Map();
for (let i = 0; i < nums.length; i++) {
// 计算需要的另一个值
const complement = target - nums[i];
// 如果哈希表中有这个值,返回两个索引
if (obj.has(complement)) {
return [obj.get(complement), i]; // 返回两个索引
}
obj.set(nums[i], i);
}
return [];
}
//双for循环
只出现一次的数字
给你一个 非空 整数数组 nums
,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
//哈希表做法
function appearOnce(nums){
let obj = new Map()
for(let num of nums){
obj.set(num,(obj.get(num)|| 0) + 1)
}
for (const [key, value] of obj.entries()) {
if (value === 1) {
return key; // 频率为1的元素就是只出现一次的元素
}
}
return null
}
多数元素
给定一个大小为 n
的数组 nums
,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋
的元素。
//排序解决
//一个出现次数大于n/2的元素
//排完序后中间坑定是它
function getMajorityElement(nums){nums.sort((a,b)=>a-b)return nums[Math.floor(nums.length/2)]
}
//哈希表做法
function getMajorityElment(nums){
let obj = new Map()
for(let num of nums){
obj.set(num,(obj.get(num)||0) + 1)
}
for (const [key, value] of obj.entries()) {
if (value > nums.length / 2) {
return key;
}
}
return null
}
const arr = [1,1,1,2,2,2,2]
console.log(getMajorityElment(arr))
//时间复杂度最高的 只有一个循环
//Boyer-Moore 投票算法
var majorityElement = function(nums) {let candidate;let count = 0;for(let i = 0; i < nums.length; i++){if(count === 0){candidate = nums[i]}if(nums[i] === candidate){count++}else{count--}}return candidate};
相关文章:

一个月速刷leetcodeHOT100 day 01
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 //哈希表做法 function twoSum(nums, target) { let obj new Map(); for (let i 0; i < nums.length; i…...

Cargo - 构建 rust项目、管理依赖包
文章目录 关于 Cargo构建项目创建工程编译运行buildclean 管理依赖添加依赖updatecheck计时 manual rust 安装可参考:https://blog.csdn.net/lovechris00/article/details/124808034 关于 Cargo Cargo 官方文档 : https://doc.rust-lang.org/cargo/crat…...

内网安全-代理Socks协议路由不出网后渗透通讯CS-MSF控制上线简单总结
我这里只记录原理,具体操作看文章后半段或者这篇文章内网渗透—代理Socks协议、路由不出网、后渗透通讯、CS-MSF控制上线_内网渗透 代理-CSDN博客 注意这里是解决后渗透通讯问题,之后怎么提权,控制后面再说 背景 只有win7有网,其…...

NSSCTF | [SWPUCTF 2021 新生赛]jicao
打开题目,发现高亮显示了一个 php 脚本 这是脚本的内容 <?php highlight_file(index.php); include("flag.php"); $id$_POST[id]; $jsonjson_decode($_GET[json],true); if ($id"wllmNB"&&$json[x]"wllm") {echo $flag;…...

Redis 支持的 Java 客户端都有哪些?
Redis 是一种高性能的键值存储系统,它以其快速、灵活和可扩展的特性而闻名。在 Java 开发中,与 Redis 交互的方式通常是通过使用 Redis 的 Java 客户端。 这些客户端提供了访问 Redis 数据库的接口,使开发人员能够在 Java 应用程序中轻松地使…...

【JavaEE 初阶(四)】多线程进阶
❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多线程知识 目录 1.前言2.常见的锁策略2.1悲观锁vs乐观锁2.2轻量级锁vs重量级锁2.3自旋锁vs挂起锁2.4读写…...

ZOC8 for Mac v8.08.1激活版:卓越性能的SSH客户端
在远程连接和管理的世界中,ZOC8 for Mac以其卓越的性能和丰富的功能,成为了众多专业人士的首选SSH客户端。它支持SSH1、SSH2、Telnet、Rlogin、Serial等多种协议,让您轻松连接到远程服务器。ZOC8拥有简洁直观的界面和强大的功能设置ÿ…...

指针(4)有点难
指针(4) 来做个简单的回顾: 指针数组: 1.是数组 2.是存放指针的数组 char* arr1[5]; int*arr2[3]; 数组指针: 1 .是指针 2 .指向数组的指针 字符指针:char*pc; 整型指针:int*pi; int …...

初步了解json文件
来自wetab 的AI pro: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是它使用了类似于编程语言(特别是J…...

赶紧收藏!2024 年最常见 100道 Java 基础面试题(四十)
上一篇地址:赶紧收藏!2024 年最常见 100道 Java 基础面试题(三十九)-CSDN博客 七十九、forward和redirect的区别? 在Java Web应用程序中,forward和redirect是两种不同的服务器端重定向机制,它…...

初步了解Kubernetes
目录 1. K8S概述 1.1 K8S是什么 1.2 作用 1.3 由来 1.4 含义 1.5 相关网站 2. 为什么要用K8S 3. K8S解决的问题 4. K8S的特性 5. Kubernetes集群架构与组件 6. 核心组件 6.1 Master组件 6.1.1 Kube-apiserver 6.1.2 Kube-controller-manager 6.1.3 kube-schedul…...

前端工程化的基本介绍
文章目录 一、概念二、前端工程化的细节模块化组件化规范化 一、概念 工程化,可以理解为使用一些方式,去改良提高行业中现有的步骤、设计、应用方式。前端工程化,就是指对前端进行一些流程的标准化,让开发变得更有效率࿰…...

linux上Redis安装使用
环境centOS8 redis是缓存数据库,主要是用于在内存中存储数据,内存的读写很快,加快系统读写数据库的速度 一、Linux 安装 Redis 1. 下载Redis 官网下载Downloads - Redis 历史版本Index of /releases/ 本文中安装的版本为:h…...

prometheus+grafana的安装与部署及优点
一、Prometheus 的优点 1、非常少的外部依赖,安装使用超简单; 2、已经有非常多的系统集成 例如:docker HAProxy Nginx JMX等等; 3、服务自动化发现; 4、直接集成到代码; 5、设计思想是按照分布式、微服…...

JWK和JWT 学习
JWK和JWT 介绍 JWK (JSON Web Key) 和 JWT (JSON Web Token) 是现代Web应用程序中用于安全通信的两个重要概念。它们都是基于JSON的,并且是OAuth 2.0和OpenID Connect等协议的核心组成部分。 官方文档 JWT官方网站 JWK和JWK Set的RFC文档 JWT的RFC文档 JWK (JS…...

Go 使用mqtt
1、创建一个文件夹,并且使用go modules go mod init <module_name> 其中<module_name>是你的模块名称,如下 go mod init example.com/myproject 2、安装mqtt扩展 go get github.com/eclipse/paho.mqtt.golang 3、开始写主程序 package ma…...

C++ primer plus习题及解析第十二章(类和动态内存分配)
题目:12.1 题: 对于下面的类声明: class Cow { private:char name[20];char* hobby;double weight; public:Cow();Cow(const char* nm, const char* ho, double wt);//有参构造Cow(const Cow& c);//拷贝构造函数~Cow();//析构函数Cow&…...

gdb调试功能描述
gdb调试功能描述 gdb 调试:只对可执行文件进行调用,无法直接用gdb调试.c文件 1.查找命令帮助: (gdb) help data (gdb) help call -l (list) 查看载入文件(默认为10行)…...

使用Simulink Test进行单元测试
本文摘要:主要介绍如何利用Simulink Test工具箱,对模型进行单元测试。内容包括,如何创建Test Harness模型,如何自动生成excel格式的测试用例模板来创建测试用例,如何手动填写excel格式的测试用例模板来手动创建测试用例…...

深度学习中超参数设置
1、batchsize 在训练深度学习模型时,batch size(批大小)和 epochs(迭代次数)之间的关系取决于您的数据集大小、模型复杂度、计算资源等因素。下面是一些一般性的指导原则: 较大的 Batch Size:通…...

Docker nsenter 命令使用
查看容器对应宿主机上面的pid,容器技术的实质是进程,并没有完整的操作系统,就相当于在主机上面fork了一个子进程,通过docker daemon去fork一个子进程,这个子进程是可以在主机上面看到其pid的。 $ docker inspect -f {…...

十二种网络威胁防护方案
一、SQL注入 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任…...

C++ sort()排序详解
头文件 在C中使用sort()函数需要使用#include<algorithm> sort()基本使用方法 sort()函数可以对给定区间所有元素进行排序。它有三个参数sort(begin, end, cmp) 其中begin为指向待sort()的数组的第一个元素的指针,end为指向待sort()的数组的最后一个元素的…...

移动机器人系统与技术:自动驾驶、移动机器人、旋翼无人机
这本书全面介绍了机器人车辆的技术。它介绍了道路上自动驾驶汽车所需的概念。此外,读者可以在六足机器人的构造、编程和控制方面获得宝贵的知识。 这本书还介绍了几种不同类型旋翼无人机的控制器和空气动力学。它包括各种旋翼推进飞行器在不同空气动力学环境下的模…...

zTasker v1.88.1一键定时自动化任务
软件介绍 zTasker是一款完全免费支持定时、热键或条件触发的方式执行多种自动化任务的小工具,支持win7-11。其支持超过100种任务类型,50种定时/条件执行方法,而且任务列表可以随意编辑、排列、移动、更改类型,支持任务执行日志&a…...

时序医疗数据集---adfecgdb
数据集简介 该数据库包含了在波兰西里西亚医科大学妇产科,通过使用KOMPOREL系统收集的5位临产孕妇(孕38至41周)的多通道胎儿心电图(FECG)记录。这些记录通过腹部四个电极和安置在胎儿头部的直接心电图电极同步收集&am…...

ruoyi-vue-pro 使用记录(4)
ruoyi-vue-pro 使用记录(4) CRM数据库线索客户商机合同回款产品其他 CRM 文档 主要分为 6 个核心模块:线索、客户、商机、合同、回款、产品。 线索管理以 crm_clue 作为核心表客户管理以 crm_customer 作为核心表商机管理以 crm_business 作…...

【17-Ⅱ】Head First Java 学习笔记
HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…...

订单超时自动取消的实践方案
1、定时任务方案 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支付的订单。 遍历查询出来的订单列表,判断当前时间减去订单的创建时间是否超过了支付超时时间,如果超时则对该订单执行取消操作。 定时任务方案工程实现相…...

【gin框架入门】
1.介绍 Gin 是一个用 Golang编写的 高性能的web 框架, 由于http路由的优化,速度提高了近 40 倍。 Gin的特点就是封装优雅、API友好。 Gin的一些特性: 快速 基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。 支持中间件 传入…...