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

【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字 p205 -- Java Version

题目链接:https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/

1. 题目介绍(39. 数组中出现次数超过一半的数字)

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

【测试用例】:
示例1:

输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2

【条件约束】:

提示

  • 1 <= 数组长度 <= 50000

【相关题目】:

注意:本题与主站 169. 多数元素 题目相同。

2. 题解

2.1 暴力穷举 – O(n2)

时间复杂度O(n2),空间复杂度O(n)

解题思路】:
对于排序数组,我们可以很容易统计出每个数字出现的次数,可参考 剑指 Offer 53 - I. 在排序数组中查找数字 I ,然后再对次数进行判断,看是哪个数字出现的次数超过了数组长度的一半。
……
实现策略】:

  1. 对输入数组 nums 使用 sort() 方法进行升序排序;
    【sort()方法详解】:详述Java中sort排序函数
  2. 定义一个 HashMap 用来记录每个数字在数组中出现的次数,数组中数组为键,出现的次数为值;
    【注意点】:HashMap 的键虽然不能重复,但是如果是有重复键的键值对要加入,那么 新值会覆盖掉旧值,切记!
  3. 双循环穷举,当然下面为了提高效率,同时防止重复键值对被覆盖,通过每次循环中把 j 赋值给 i 的操作,这样就保证了内循环结束后,i 位于当前重复数字的末尾,而由于循环结束,i++ 的原因,这样就相当于间接的移动 i 到了下一个非重复数组数字的位置,然后进行下一个数字重复次数的统计;(这里的双循环穷举,可以改为 一次遍历 + 二分查找(找左右边界) 的方式,进一步提高统计效率)
  4. 最后,遍历 HashMap,找出次数超过数组一半的数字并返回。
class Solution {public int majorityElement(int[] nums) {// 对数组进行排序Arrays.sort(nums);// 遍历数组// 定义map用来记录每个数字在数组中出现的次数HashMap<Integer,Integer> map = new HashMap<>();int n = 0;for(int i = 0; i < nums.length; i++){for (int j = i; j < nums.length; j++){if (nums[j] == nums[i]) {n++;i = j; // 将i移到下一个数的位置} }map.put(nums[i],n);n = 0;}// 遍历map,找出超过一半数组长度的数字for(Map.Entry<Integer,Integer> entry : map.entrySet()){if (entry.getValue() > nums.length/2) return entry.getKey();}return 0;}
}

在这里插入图片描述
代码简化:

实现策略】:
看了题解,意识到自己傻冒了,忘了 HashMap 中有 containsKey() 方法了,那么完全可以直接一次遍历数组 nums ,用 HashMap 统计各数字的数量,即可找出 众数 ,根本不用双循环,一个一个对比,直接单次循环, containsKey(下一个数字) ,有就++,没有就移动到下一个就完了,此方法时间和空间复杂度均为 O(n) 。

  1. 一次遍历,在遍历的过程中将数组数字存入 HashMap ;
  2. 判断 HashMap 的键是否已有当前数字,有就加1,没有就下一个。

……
但是不知道为啥,这样好慢,比没简化的代码要慢的多,估计应该是力扣的测试用例设置的不太好。

class Solution {public int majorityElement(int[] nums) {// 遍历数组// 定义map用来记录每个数字在数组中出现的次数HashMap<Integer,Integer> map = new HashMap<>();for(int i = 0; i < nums.length; i++){if (!map.containsKey(nums[i])) map.put(nums[i],1);else map.put(nums[i], map.get(nums[i])+1);}// 遍历map,找出超过一半数组长度的数字for(Map.Entry<Integer,Integer> entry : map.entrySet()){if (entry.getValue() > nums.length/2) return entry.getKey();}return 0;}
}

在这里插入图片描述

2.2 数组排序法 – O(nlogn)

时间复杂度O(nlogn),空间复杂度O(1)

解题思路】:
将数组 nums 排序,数组中点的元素 一定为众数。
根据题目所出的数组特性:数组中有一个数字出现的次数超过了数组长度的一半,那么如果对这个数组进行排序,排序之后位于数组中间的数字一定就是那个出现次数超过数组长度一半的数字。
……
实现策略】:
根据上面的思路,代码就变的异常的轻松加愉快:

  1. 排序
  2. 返回数组的中点数字

……
当然如果返回值一变,要求返回该数字的重复次数,这个方法就趴菜了,不过题目摇身一变就变成了剑指 Offer 53 - I. 在排序数组中查找数字 I ,可用 2.1 中的方法解决。

class Solution {public int majorityElement(int[] nums) {// 对数组进行排序Arrays.sort(nums);// 遍历数组return nums[nums.length/2];}
}

在这里插入图片描述

2.3 摩尔投票法(原书题解2) – O(n)

时间复杂度O(n),空间复杂度O(1)

解题思路】:
核心理念为 票数正负抵消,因为题目中明确的指出了,要返回的数字是在数组中出现次数超过一半的数字,那么通过正负抵消,最后能留下的一定是该数字。
推论一: 若记 众数 的票数为 +1非众数 的票数为 -1,则一定有所有数字的 票数和 >0 ;
推论二: 若数组的前 a 个数字的 票数和 =0 ,则 数组剩余 (n−a) 个数字的 票数和一定仍 >0 ,即后 (n−a) 个数字的 众数仍为 x 。
在这里插入图片描述
……
实现策略】:

  1. 定义 x 存储众数(候选人),定义票数 votes
  2. 一次遍历,判断当前票是否是给当前候选人的,如果是则加1,如果不是则减1,当候选人的票数为0时,则更换新的候选人。

……
唠叨两句】:
原书题解1 采用了快排思想的排序方法 Partition() ,一直到 Partition() 方法随机到中点,即,将比中点数小的数字移到数组的左边,比中点数大的数组移到数组的右边。此方法可以,但没必要,除非题目要求不能使用库函数,不然感觉倒是没必要自己写排序,

class Solution {public int majorityElement(int[] nums) {int x = 0, votes = 0, count = 0;for(int num : nums){if(votes == 0) x = num;votes += num == x ? 1 : -1;}// 验证 x 是否为众数for(int num : nums)if(num == x) count++;return count > nums.length / 2 ? x : 0; // 当无众数时返回 0}
}

在这里插入图片描述

3. 参考资料

[1] 剑指 Offer 39. 数组中出现次数超过一半的数字(摩尔投票法,清晰图解)
[2] Java遍历Map的几种方法
[3] 【Java】 剑指offer(53-1) 数字在排序数组中出现的次数

相关文章:

鸿蒙开发接口Ability框架:【@ohos.application.Want (Want)】

Want Want模块提供系统的基本通信组件的能力。 说明&#xff1a; 本模块首批接口从API version 8 开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import Want from ohos.application.Want; 开发前请熟悉鸿蒙开发指导文档&#xff1…...

git对远程和本地分支进行重命名

要同时对Git的远程和本地分支进行重命名&#xff0c;你需要分几个步骤操作&#xff1a; 重命名本地分支 切换到其他分支&#xff1a;在重命名当前分支之前&#xff0c;确保你不在你想要重命名的那个分支上。你可以通过以下命令切换到另一个分支&#xff08;比如切换到master分…...

UcOs-III 源码阅读: os_tmr.c

对定时器源文件os_tmr.c进行源码阅读与注释: // 功能:创建、删除、启动、停止、删除、初始化模块、获取定时器剩余时间、获取定时器状态、 // 创建定时器API: OS_TmrCreate // 删除定时器API: OS_TmrDel // 启动定时器API: …...

平衡树的简单替代品

1、STL / gnu_pbds 1、vector<int> 常用,动态空间注意比较慢,远古题数据小才建议使用。支持操作 复杂度序列类别随机访问 \(O(1)\)尾部插入删除 \(O(1)\)随机插入删除 \(O(玄学),O(\sqrt{n})\)集合类别none2、set<int> 维护数集的,它的常数真的很奇妙。支持操作…...

黑马苍穹外卖

sky-pojo子模块内容 Entity&#xff1a;实体&#xff0c;通常和数据库中的表对应DTO&#xff1a;数据传输对象&#xff0c;通常用于程序中各层之间传递数据&#xff08;eg&#xff1a;前端返回的json数据&#xff0c;后端要接收&#xff0c;并且转化为java对象&#xff0c;此时…...

Kubernetes(K8s)的基础概念

目录 一、Kubernetes&#xff08;K8s&#xff09;概述 1、K8s是什么&#xff1f; 2、k8s的作用 3、k8s的功能 二、k8s的特性 ①弹性伸缩&#xff1a; ②自我修复&#xff1a; ③服务发现和负载均衡&#xff1a; ④自动发布&#xff08;默认滚动发布模式&#xff09;和…...

【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字 p205 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ 1. 题目介绍&#xff08;39. 数组中出现次数超过一半的数字&#xff09; 数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 你可…...

es-head插件插入查询以及条件查询(五)

es-head插件插入查询以及条件查询 1.es-head插件页面介绍 页面详细介绍 2.es-head查询语句 2.1.查询索引中的全部数据 curl命令交互&#xff0c;采用GET请求 语法格式&#xff1a; curl -XGET es地址:9200/索引名/_search?pretty [rootelaticsearch ~]# curl -XGET 192…...

数据挖掘(作业汇总)

目录 环境配置 实验1 数据 作业2 环境配置 实验开始前先配置环境 以实验室2023安装的版本为例&#xff1a; 1、安装anaconda&#xff1a;&#xff08;anaconda自带Python,安装了anaconda就不用再安装Python了&#xff09; 下载并安装 Anaconda3-2022.10-Windows-x86_64.ex…...

基于微信小程序的图书馆选座系统源码

开发环境及工具&#xff1a; 大等于jdk1.8&#xff0c;大于mysql5.5&#xff0c;idea&#xff08;eclipse&#xff09;&#xff0c;微信开发者工具 技术说明&#xff1a; springboot mybatis 小程序 代码注释齐全&#xff0c;没有多余代码&#xff0c;适合学习&#xff08;…...

特斯拉4D成像毫米波雷达与木牛科技早期开源的产品几乎一模一样?

近日&#xff0c;在中欧智能网联汽车协会秘书长林示的组织下&#xff0c;中益基金投资总监王子文考察了全球毫米波雷达领跑者—木牛科技。 考察过程中&#xff0c;木牛科技COO王卫向两位详细介绍了木牛科技具备怎样的全球毫米波雷达领跑者的科技硬实力&#xff0c;以及木牛科技…...

[golang gin框架] 10.Gin 商城项目介绍

一.商城项目介绍 1.详细功能介绍图 2.数据库 ER 图 需要用到的数据表举例 二.MVC架构搭建以及执行流程分析 1.关于 MVC 模式的简单介绍 Gin 不是一个 MVC 的框架&#xff0c;所有的代码都可以写在 main.go 中。当我们的项目比较大的时候&#xff0c; 所有代码写在一个文件里面…...

python@调用系统命令行@os.system@subprocess@标准输入输出@sys.stdin@sys.stdout@input@print

文章目录python调用系统命令行os.system标准输入输出sys.stdinsys.stdoutinputprint概要os.systemdemoswindows命令解释器ComSpecsubprocessrecommended&#x1f388;基本用法demos标准输入输出sys.stdininput()sys.stdin.inputinput()交互模式小结sys.stdoutsys.stdout.wirte(…...

15-哈希表

哈希表&#xff08;Hash table&#xff09;&#xff0c;也称散列表&#xff0c;是一个能够将数值映射而成地址从而进行直接访问的数据结构&#xff0c;通过哈希表我们可以快速、迅捷地访问数据。 哈希表原理 假设我们拥有一个数x&#xff08;也称关键值&#xff0c;key&#…...

【超详细文件操作(三)】C语言

作者&#xff1a;日出等日落 专栏&#xff1a;C语言 只有流过血的手指&#xff0c;才能弹出世间的绝唱。 ——泰戈尔 目录 1.文件的随机读写 1.1 fseek函数 1.1.1 下面使用fseek函数 1.2 ftell函数 1.3 rewind函数 …...

【数据分析之道-基础知识(四)】字典

文章目录专栏导读1、字典简介2、字典创建3、字典访问4、字典修改5、字典添加6、字典删除7、字典内置函数专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN Python领域新星创作者&#xff0c;专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》&#xff0c;本专栏…...

【计组】RAM的深入理解

一、存储机理 RAM的实现逻辑有种&#xff0c;分别是触发器和电容。 SRAM&#xff08;Static&#xff09;DRAM&#xff08;Dynamic&#xff09;存储方式触发器电容破坏性读出否&#xff08;触发器具有稳态&#xff0c;能够锁住0或1两种状态&#xff09;是&#xff08;电容需要…...

51单片机学习笔记_13 ADC

ADC 使得调节开发板上的电位器时&#xff0c;数码管上能够显示 AD 模块 采集电位器的电压值且随之变化。 开发板上有三个应用&#xff1a;光敏电阻&#xff0c;热敏电阻&#xff0c;电位器。 一般 AD 转换有多个输入&#xff0c;提高使用效率。 ADC 通过地址锁存与译码判断采…...

JVM 常量池

Class文件常量池 每个Class文件都会有一个单独的常量池,我们称为Class文件常量池,我们可以用javap命令反汇编Class文件,可以查看java编译器为我们生成的字节码。 CLass文件常量池存下内容&#xff1a; 字面量&#xff1a; 文本字符串(代码中用双引号包裹的字符串部分的值)被…...

Leetcode.1024 视频拼接

题目链接 Leetcode.1024 视频拼接 Rating &#xff1a; 1746 题目描述 你将会获得一系列视频片段&#xff0c;这些片段来自于一项持续时长为 time秒的体育赛事。这些片段可能有所重叠&#xff0c;也可能长度不一。 使用数组 clips描述所有的视频片段&#xff0c;其中 clips[i…...

彩色滤镜阵列CFA与Bayer滤镜

彩色滤镜阵列&#xff08;CFA&#xff09; 在彩色光电摄影中&#xff0c;可以通过分光&#xff0c;使用三个传感器分别捕获红、绿、蓝三个通道的颜色分量。但为了降低成本&#xff0c;绝大部分成像系统中采用单芯片 CMOS、CCD 传感器结合彩色滤镜阵列(Color Fiter Array&#…...

Unity和GAN实现AI绘画五等分的新娘、国家队02(附源码)

UnityGAN实现AI绘画五等分的新娘、国家队02附源码写在前面源码演示视频部分界面展示使用教程敬请期待其他写在后面写在前面 博主喜欢二次元&#xff0c;想着在读研期间做点对自己有意义的事&#xff0c;因此选择了动漫人物生成方向(呜呜呜&#xff0c;太感谢导师理解和支持了)…...

SpringBoot实现自己的日志服务

日志服务是作为软件开发架构的必备服务之一&#xff0c;一直都是我们所关注&#xff0c;所考虑的服务关键点&#xff0c;一个优秀的日志服务可以为项目的维护提供有力的支持&#xff0c;提高了系统的可靠性。 前言 如何设计一个优秀而又可靠的日志服务&#xff0c;是一直以来都…...

基于ssm流浪动物救助及领养管理系统(文档)024

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…...

maven安装及配置(IDEA版)简洁

1.下载Maven&#xff1a;您可以从Maven官方网站&#xff08;https://maven.apache.org/download.cgi&#xff09;下载适合您操作系统的Maven版本&#xff0c;并解压缩到您想要安装的位置。 2.配置环境变量&#xff1a;将Maven的bin目录添加到PATH环境变量中&#xff0c;这样…...

最全Linux应用开发解析(持续更新)

一、文件IO 1.1 文件描述符 在 Linux 操作系统中的一切都被抽象成了文件&#xff0c;那么一个打开的文件是如何与应用程序进行对应呢&#xff1f; 解决方案是使用文件描述符&#xff08;file descriptor&#xff0c;简称fd&#xff09;&#xff0c;当在进程中打开一个现有文…...

SpringBoot学习笔记下

文章目录1 接口架构风格 —RESTful1.1 REST1.2 在页面中或者ajax中&#xff0c;支持put&#xff0c;delete请求2 Spring Boot 集成 Redis2.1 redis起步依赖2.2 对比 StringRedisTemplate 和 RedisTemplate3 SpringBoot集成Dubbo3.1 看 SpringBoot继承Dubbo的文档3.2 公共项目7.…...

小米12/12S/13Pro手机MIUI14系统小黄鸟(HttpCanary)CA证书无法注入问题

很多用户获取ROOT是为了抓包&#xff0c;这里一般常常依赖一款名叫HttpCanary的软件&#xff0c;因软件 图标是一只小鸟&#xff0c;我们经常叫他小黄鸟。从日常使用上来看&#xff0c;黄鸟确实有抓包获取数据等 功能&#xff0c;也在多个手机上实践成功&#xff0c;网上相关教…...

SpringCloud学习笔记(四)Docker

一、Docker如何解决依赖的兼容问题 将应用的libs&#xff08;函数库&#xff09;、Deps&#xff08;依赖&#xff09;、配置与应用一起打包&#xff0c;形成可移植镜像Docker应用运行在容器中&#xff0c;使用沙箱机制&#xff0c;相互隔离 二、Dokcer如何解决开发、测试、生…...

SAP 批量修改 工艺路线 和 BOM

1、在运维的过程中经常会遇到用户需要批量更改组件&#xff0c;或者是批量更改数量&#xff0c;还是组件里面的一些标识&#xff0c;当处理这些批量数据处理的业务时&#xff0c;BOM的批量更改一个想到的就是CS20&#xff0c;但是CS20当BOM需要替换的时候就不是很适用。新增的组…...

基于OpenTelemetry实现可观测性-Part 4 Collector

译注&#xff1a;这是一个系列&#xff0c;共分成6部分&#xff0c;这是第4部分。翻译自&#xff1a;https://trstringer.com/otel-part4-collector/在上一篇博文中&#xff0c;我们讨论了如何使用 SDK 和追踪器提供者从进程获取遥测数据。存在很多不同类型的导出器&#xff0c…...

STM32学习(十二)

软件定时原理 使用纯软件&#xff08;CPU死等&#xff09;的方式实现定时&#xff08;延时&#xff09;功能。 不精准&#xff1a;函数调用压栈进栈需要耗费额外的时间&#xff1b;流水线使得程序执行时间不确定。CPU死等。 定时器定时原理 使用精准的时基&#xff0c;通过…...

Python毕业设计推荐

今天给大家推荐4个基于python的毕业设计/课程设计 1 网上商城系统 这是一个基于pythonvue开发的商城网站&#xff0c;平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能…...

组装式交付-云巧 知多少

组装式交付-云巧 知多少组装式交付背景云巧什么是云巧呢&#xff1f;云巧的优势丰富的组件&#xff0c;提升代码复用全面的集成方式&#xff0c;支持模块化组装云原生标准&#xff0c;预集成阿里云产品云巧的构成云巧组件云巧资产市场云巧生态云巧工坊总结组装式交付背景 一直…...

「解析」牛客网-华为机考企业真题 41-60

又是一年春招时&#xff0c;有幸收到华为自动驾驶算法岗&#xff0c;之前刷题不多&#xff0c;在此汇总下牛客网的真题&#xff0c;主要采用Python编写&#xff0c;个人觉得语言只是实现工具而已&#xff0c;并不是很关键&#xff0c;Python简洁易懂&#xff0c;更加适合算法工…...

RPA机器人在信息化管理、报告生成实现自动化成为生态环境局新宠

随着人们对环境和自然资源的保护意识逐渐增强&#xff0c;我国在环保领域的投入力度也越来越大。然而&#xff0c;环境保护任务的繁重与复杂&#xff0c;也意味着环保执法机关需要更加高效、精准的手段来完成任务。这时&#xff0c;“机器人流程自动化”&#xff08;简称RPA&am…...

关于线程池你了解些什么?

前言学习线程池的思维导图线程池是什么?它有什么用?虽然线程比进程更轻量级,但是每个进程所占的资源空间是有限,如果我们频繁创建和销毁线程也会消耗很多CPU资源,那么我们该如何解决这个问题呢?官方解释:线程池是一种多线程处理形式,其处理过程可以将多个任务添加到阻塞队列…...

基于MATLAB编程的萤火虫改进帝国竞争算法求解多目标优化,FA-ICA目标寻优

目录 背影 帝国竞争 基本定义 优点 萤火虫原理 改进思路 基于萤火虫改进帝国竞争多目标求解 代码 结果分析 展望 背影 多目标多参数优化是常遇到的优化问题,有很多传统算法可以求解,比如fiminmax,fmincon等,但是都容易陷入局部最优,本文用帝国竞争优化萤火虫算法进行多目…...

低代码开发:助力企业高效实现数字转型的一大利器

随着互联网、移动互联网、物联网等技术的迅速普及和应用&#xff0c;数字经济时代的到来&#xff0c;人们的生产、消费和生活方式都发生了巨大的变化&#xff0c;而传统企业也面临着巨大的挑战和机遇。 在数字经济时代&#xff0c;数据成为一种重要的生产要素。数据成为一种重要…...

centos7安装mysql并添加密码

网上找的教程有的是不能用&#xff0c;有的是改密码有问题&#xff0c;下面这个教程亲测可用 #安装wget,wget是Linux中的一个下载文件的工具 yum -y install wget #使用wget下载文件 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-com…...

大数据未来发展怎么样?

就目前情况来看&#xff0c;大数据行业前景不错薪资待遇好&#xff0c;也有越来越多的人选择大数据行业&#xff0c;各大名企对于大数据人才需求不断上涨。 大数据从业领域很宽广&#xff0c;不管是科技领域还是食品产业&#xff0c;零售业等都是需要大数据人才进行大数据的处…...

图书管理系统(考试样品)

一、执行下面的sql CREATE DATABASE bms CHARACTER SET utf8mb4;USE bms;DROP TABLE IF EXISTS tb_book;CREATE TABLE tb_book (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL,desc TEXT ,type_id INT DEFAULT NULL,PRIMARY KEY (id) ) ; INSERT INTO tb_book VA…...

树与二叉树(图示超详解哦)

这里写目录标题引言树与二叉树树的概念及结构树的表示二叉树特殊的二叉树二叉树的性质二叉树的表示顺序结构链式结构总结引言 在前面的一段时间里&#xff0c;我们学习了顺序表、链表、栈、队列的知识。其实这些顺序结构都是线性的&#xff0c;它们的逻辑结构都是一条线穿起来…...

【vue3】数据绑定,动态渲染class与style

数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式&#xff08;style&#xff09;。因为 class 和 style 都是 attribute&#xff0c;我们可以和其他 attribute 一样使用 v-bind 将它们和动态的字符串绑定。但是&#xff0c;在处理比较复杂的绑定时&#xff0c…...

axios使用

参考地址&#xff1a;https://github.com/axios/axios html CDN <script src"https://cdn.jsdelivr.net/npm/axios1.1.2/dist/axios.min.js"></script>或者 <script src"https://unpkg.com/axios1.1.2/dist/axios.min.js"></scrip…...

countup.js 数字动画

countup.js 数字动画1. 安装2. 参数3. Vue组件封装3.1 组件代码3.2 调用方式1. 安装 npm i countup.js2. 参数 项目Valuetargetstring, HTMLElement ,HTMLInputElement - id of html element, input, svg text element, or DOM element reference where counting occursendV…...

10个问题带你全面理解Linux性能优化

1. 为什么面试官喜欢考察性能优化问题&#xff1f; 面试官考察性能优化问题的目的可能并不是要你设计一个性能很高的系统&#xff0c;而是为了全方位考察一个面试者的知识背景和实践能力。 1) 性能优化涉及的知识面既需要深度&#xff0c;同时又需要一定的广度 从深度上来说…...

php使用yield处理大数据文件

1.概述 yield和return有点像&#xff0c;它是一个生成器&#xff0c;对PHP应用的性能有非常大的影响&#xff0c; 只有在调用的时候才会执行&#xff0c;并不产生多余的值&#xff0c;比如读取一个很大的文件或者计算大量的数据时&#xff0c;如果直接读取很有可能内存就爆了&a…...

数据更新 | CnOpenData法拍房数据

法拍房数据 一、数据简介 法拍房&#xff0c;即“法院拍卖房产”&#xff0c;是被法院强制执行拍卖的房屋 。当债务人&#xff08;业主&#xff09;无力履行借款合约或无法清偿债务时&#xff0c;而被债权人经司法程序向法院申请强制执行&#xff0c;将债务人名下房屋拍卖&…...

(一)kafka从入门到精通之初识kafka

一、发布订阅系统 在学习kafka之前&#xff0c;我们先来看看什么是发布订阅系统。 概念 数据的发送者不会直接把消息发送给接收者&#xff0c;这是发布与订阅消息系统的一个特点。发布者以某种方式对消息进行分类&#xff0c;接受者订阅它们&#xff0c;以便接受特定类型的消…...

stata17中double类型与float类型的区别(变量的存储格式和显示格式、数值运算出错、转换数值格式、字符型数据转换为数值型数据)

double类型与float类型区别 参考&#xff1a;变量的存储格式和显示格式 数值运算出错 因为营业总收入和其他业务收入都是字符型数据&#xff0c;所以使用real函数将其转换为数值型数据。 gen 主营业务收入 real(营业总收入)-real(其他业务收入)结果如下图所示&#xff1a;计…...

【JVS低代码配置平台】基于树形字典的纯配置实现左树右表

左树右表是我们在业务管理系统中常见的业务形态&#xff0c;如下图所示&#xff0c;树形结构用于多层级的数据的展示&#xff0c;列表页作为对应数据的横向行级展现。 实现树形的配置有两种模式&#xff0c;一种是根据树形字典配置&#xff08;简单导入即可&#xff09;&#x…...

Spring Boot实现Redis同数据源动态切换DB | Spring Cloud 31

一、前言 在某些业务场景下&#xff0c;需要多访问同一Redis数据源下的不同DB。 在Redis中默认提供了16个数据库&#xff08;序号0-15&#xff09;&#xff0c;默认Redis使用的是db 0。 此章节基于spring-boot-starter-data-redis模块&#xff0c;实现了Redis同数据源动态切换…...

[技术经理]02 什么是技术经理?

目录01什么是技术经理02总结01什么是技术经理 什么是技术经理&#xff1f; 我用一句话概括为&#xff1a;专业技术团队的管理者。 技术经理&#xff0c;是一种管理职位&#xff0c;通常是在软件开发、互联网等科技公司或技术团队中担任。 技术经理的职责&#xff0c;**是管理…...

油炸食品的最佳用油:米糠油

摘要&#xff1a;本文详细介绍了米糠油作为最佳油炸用油的各种特点&#xff0c;但更重要的是建议采用真空油炸方法&#xff0c;更能发挥米糠油的优势。 油炸食品是我们日常生活中常见的美味&#xff0c;人们普遍的共识是“油炸食品虽然好吃&#xff0c;但不适合多吃”&#xff…...

【C++】queue和priority_queue的成员函数和非成员函数

目录 1. queue 1.1 queue的成员函数 1.1.1 构造函数 1.1.2 判空 1.1.3 大小 1.1.4 队头 1.1.5 队尾 1.1.6 入队 1.1.7 emplace 1.1.8 出队 1.1.9 交换 1.2 queue的非成员函数 1.2.1 关系运算符重载 1.2.2 交换 2. priority_queue 2.1 priority_queue的成员函数…...

前端面试:项目细节问题(已工作|给大家做个分享)

1、介绍介绍整个项目的开发流程&#xff1f; 答&#xff1a;我面试时的回答&#xff1a;首先&#xff0c;产品、项目经理和甲方一起开会确认需求&#xff0c;产品编写需求文档&#xff0c;并画出原型图贴在需求文档上&#xff1b;然后&#xff0c;产品、项目经理、甲方、技术、…...

搜索的未来:OpenAI 的 GPT 如何彻底改变行业

搜索的未来&#xff1a;OpenAI 的 GPT 如何彻底改变行业 概述 搜索引擎格局正处于一场革命的风口浪尖&#xff0c;而 OpenAI 的 GPT 处于这场变革的最前沿。最近出现了一种被称为“im-good-gpt-2-chatbot”的神秘聊天机器人&#xff0c;以及基于 ChatGPT 的搜索引擎的传言&am…...

JUC并发-共享模型-工具-J.U.C

1、AQS 全称是AbstractQueuedSynchronizer&#xff0c;是一个抽象类&#xff0c;是阻塞式锁和相关的同步器工具的框架。 特点&#xff1a; 用state属性来表示资源的状态(独占模式和共享模式)&#xff0c;子类需要定义如何维护这个状态&#xff0c;控制如何获取锁和释放锁 g…...

Vue、React实现excel导出功能(三种实现方式保姆级讲解)

第一种&#xff1a;后端返回文件流&#xff0c;前端转换并导出&#xff08;常用&#xff0c;通常公司都是用这种方式&#xff09; 第二种&#xff1a;纯后端导出&#xff08;需要了解&#xff09; 第三种&#xff1a;纯前端导出&#xff08;不建议使用&#xff0c;数据处理放…...

Mapper文件的动态代理实现

背景 主要是自己备查&#xff0c;controller层和service层就不写了&#xff0c;直接模拟mapper接口后续的执行&#xff0c;在代码中&#xff0c;此时的mapper文件的接口实际上是没有实现类的&#xff0c;但是也能执行sql文件&#xff0c;是因为用了动态代理的技术&#xff0c;代…...

video.js的请求头问题

为了防止视频被轻易下载&#xff0c;我们项目需要在请求视频地址的时候&#xff0c;增加token识别&#xff0c;避免url一粘贴到浏览器地址上就能被盗。 明明一开始就找到的方法&#xff1a; // ts-ignorevideojs.Vhs.xhr.beforeRequest function (options) {options.headers …...

Android硬件加速hardwareAccelerated支持/不支持的绘图接口

Android硬件加速hardwareAccelerated支持/不支持的绘图接口 Android硬件加速也即在Androidmanifest.xml配置开启GPU渲染&#xff1a; <application android:hardwareAccelerated"true" > 配置后&#xff0c;Android将启用GPU渲染&#xff0c;在trace里面看会…...

Blazor入门-基础知识+vs2022自带例程的理解

参考&#xff1a; Blazor 教程 - 生成首个应用 https://dotnet.microsoft.com/zh-cn/learn/aspnet/blazor-tutorial/intro Blazor基础知识&#xff1a;Visual Studio 2022 中的Blazor开发入门_vs2022 blazor webassembly-CSDN博客 https://blog.csdn.net/mzl87/article/detail…...

Python 正则表达式(一)

文章目录 概念正则函数match函数正则表达式修饰符意义&#xff1a; 常用匹配符限定符原生字符串边界字符 概念 正则表达式是对字符串操作的一种逻辑公式&#xff0c;就是用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则字符串”&#xff0c;这个…...

1688一键采购1000+商品||1688API数据采集接口||1688官方合作伙伴如何实现1688代采

货源采购是跨境电商卖家日常工作的一个重要部分&#xff0c;1688平台是很多卖家常用的货源采购平台。在1688平台采购时&#xff0c;很多卖家会进行批量采购&#xff0c;可能会达到上百甚至上千单&#xff0c;如果一件一件的采购&#xff0c;可能会浪费卖家大量的时间。我们可以…...

ES6(ES2015) 之后,新增的哪些特性是你日常使用的

ES2016 Array.prototype.includes&#xff1a;用来判断一个数组是否包含一个指定的值&#xff0c;根据情况&#xff0c;如果包含则返回 true&#xff0c;否则返回 false。 [1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false [1, 2, 3].includes(3, 3); // fal…...

CSDN创作打卡制度就是垃圾文章孵化制度

csdn的创作打卡制度我认为是垃圾文章孵化制度。 进入创作首页就提示你打卡创作&#xff0c;这让我很反感。 一个优质的创作者往往产出的文章是少的。一篇好文章往往要积累几天的时间去创作。而CSDN的创作打卡制度要求每天创作2篇文章&#xff0c;换取流量&#xff0c;就很可笑…...