菜鸡的原地踏步史08(◐‿◑)

技巧题

只出现一次的数字

class Solution {/** HashMap统计num和次数前面一天用堆魔怔了,也用堆进行排列...*/public int singleNumber(int[] nums) {PriorityQueue<int[]> pq = new PriorityQueue<>(new Comparator<int[]>() {public int compare(int[] o1, int[] o2) {return o1[1] - o2[1];}});HashMap<Integer, Integer> map = new HashMap<>();for(int num : nums) {map.put(num, map.getOrDefault(num, 0) + 1);}for(var node : map.entrySet()) {int[] temp = new int[2];temp[0] = node.getKey();temp[1] = node.getValue();pq.offer(temp);}return pq.peek()[0];}
}

多数元素

class Solution {/** HashMap统计?*/public int majorityElement(int[] nums) {int res = 0;int n = nums.length / 2;HashMap<Integer, Integer> map = new HashMap<>();for(int num: nums) {map.put(num, map.getOrDefault(num, 0) + 1);}for(var node: map.entrySet()) {if(node.getValue() > n) {res =  node.getKey();}}return res;}
}

颜色分类

class Solution {/** 使用堆不就秒了?*/public void sortColors(int[] nums) {PriorityQueue<Integer> pq = new PriorityQueue<>();for(int num : nums) {pq.offer(num);}int i = 0;while(!pq.isEmpty()) {nums[i] = pq.poll();i++;}}
}

芜湖~ 力扣200题打卡!

下一个排列

class Solution {/** i = 0 1 2 32 1 4 3 从后向前搜索2|1 3 4 搜到第一个i > i - 1的,记录i,排序i到末尾2|3 1 4 找到排序后第一个 > i - 1的,交换需要注意Arrays.sort(nums, i, j) 是左闭右开的区间对nums进行从i到末尾的sort需要(nums, i, len(而不是len - 1))*/public void nextPermutation(int[] nums) {int len = nums.length;for(int i = len - 1; i >= 0; i--) {if( i > 0 && nums[i] > nums[i - 1]) {Arrays.sort(nums, i, len);for(int j = i; j < len; j++) {if(nums[j] > nums[i - 1]) {int temp = nums[i - 1];nums[i - 1] = nums[j];nums[j] = temp;return;}}}else if(i == 0) {Arrays.sort(nums);} }}
}

寻找重复数

class Solution {/** hashmap直接秒了啊*/public int findDuplicate(int[] nums) {int res = 0;HashMap<Integer, Integer> map = new HashMap<>();for(int num: nums) {map.put(num, map.getOrDefault(num, 0) + 1);}for(var node: map.entrySet()) {if(node.getValue() > 1) {res = node.getKey();}}return res;}
}

图论

岛屿数量

class Solution {/** 深度优先搜索dfs类似和寻找字符串逐行逐列遍历判断*/public int numIslands(char[][] grid) {int row = grid.length;int col = grid[0].length;int island = 0;for(int i = 0; i < row; i++) {for(int j = 0; j < col; j++) {if(grid[i][j] == '1') {island++;dfs(grid, i, j);}}}return island;}public void dfs(char[][] grid, int i, int j) {int row = grid.length;int col = grid[0].length;if(i >= row || i < 0 || j >= col || j < 0 || grid[i][j] == '0') {return;}grid[i][j] = '0';dfs(grid, i + 1, j);dfs(grid, i, j + 1);dfs(grid, i - 1, j);dfs(grid, i, j - 1);}
}

腐烂的橘子

class Solution {/** 用2覆盖grid网格2表示初始化时间*/public int orangesRotting(int[][] grid) {if(grid == null || grid.length == 0) {return 0;}int row = grid.length;int col = grid[0].length;for(int i = 0; i < row; i++) {for(int j = 0; j < col; j++) {if(grid[i][j] == 2) {dfs(grid, i, j, 2);}}}int maxtime = 0;for(int i = 0; i < row; i++) {for(int j = 0; j < col; j++) {if(grid[i][j] == 1) {return -1;}else {maxtime = Math.max(maxtime, grid[i][j]);}}}return maxtime == 0 ? 0 : maxtime - 2;}public void dfs(int[][] grid, int i, int j, int time) {int row = grid.length;int col = grid[0].length;if(i >= row || i < 0 || j >= col || j < 0) {return;}if(grid[i][j] != 1 && grid[i][j] < time) { // 没新鲜橘子,且时间更少,倒回去return;}grid[i][j] = time;dfs(grid, i + 1, j, time + 1);dfs(grid, i, j + 1, time + 1);dfs(grid, i - 1, j, time + 1);dfs(grid, i, j - 1, time + 1);}
}

课程表


实现Trie 前缀树

class Trie {Map<Character, Map> map, t;public Trie() {map = new HashMap<>();}public void insert(String word) {t = map;for(char w: word.toCharArray()) {if(!t.containsKey(w)) {t.put(w, new HashMap<Character, Map>());}t = t.get(w);}t.put('#', null);}public boolean search(String word) {t = map;for(char w: word.toCharArray()) {if(!t.containsKey(w)) {return false;}t = t.get(w);}return t.containsKey('#');}public boolean startsWith(String prefix) {t = map;for(char w: prefix.toCharArray()) {if(!t.containsKey(w)) {return false;}t = t.get(w);}return true;}
}/*** Your Trie object will be instantiated and called as such:* Trie obj = new Trie();* obj.insert(word);* boolean param_2 = obj.search(word);* boolean param_3 = obj.startsWith(prefix);*/

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

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

相关文章

【人工智能】knn算法

目录 一、对[1.0,1.1],[1.0,1.0],[0,0],[0,0.1],[0.1,0.1],[1.1,1.1]六个点用knn进行聚类&#xff0c;并显示。 1. 未调用KNN算法前&#xff0c;绿色为未知分类 2. 调用KNN算法 3. 运行结果 二、使用knn算法分类手写数字文件 1. 第一个temp的含义 2. 第二个temp的含义 …

【ARM】使用JasperGold和Cadence IFV科普

#工作记录# 原本希望使用CCI自带的验证脚本来验证修改过后的address map decoder&#xff0c;但是发现需要使用JasperGold或者Cadence家的IFV的工具&#xff0c;我们公司没有&#xff0c;只能搜搜资料做一下科普了解&#xff0c;希望以后能用到吧。这个虽然跟ARM没啥关系不过在…

基于神经网络的分类和预测

基于神经网络的分类和预测 一、基础知识&#xff08;一&#xff09;引言&#xff08;二&#xff09;神经网络的基本概念&#xff08;1&#xff09;神经网络&#xff08;2&#xff09;神经元&#xff08;3&#xff09;常用的激活函数&#xff08;非线性映射函数&#xff09;&…

【Linux网络】IP协议{初识/报头/分片/网段划分/子网掩码/私网公网IP/认识网络世界/路由表}

文章目录 1.入门了解2.认识报头3.认识网段4.路由跳转相关指令路由 该文诸多理解参考文章&#xff1a;好文&#xff01; 1.入门了解 用户需求&#xff1a;将我的数据可靠的跨网络从A主机送到B主机 传输层TCP&#xff1a;由各种方法&#xff08;流量控制/超时重传/滑动窗口/拥塞…

RAG 召回提升相关方案分享

最近大半年时间都在做RAG的工作&#xff0c;分享一点个人探索的方向。和提升的方案。文章中会分享是如何做的&#xff0c;以及对应的效果。 核心问题 如何提升RAG的效果&#xff1f; 如何提升召回的准确率。 写在前边&#xff1a;已验证的方案 方案 优化方向 效果 备注 3.1…

iPad锁屏密码忘记怎么办?有什么方法可以解锁?

当我们在日常使用iPad时&#xff0c;偶尔可能会遇到忘记锁屏密码的尴尬情况。这时&#xff0c;不必过于担心&#xff0c;因为有多种方法可以帮助您解锁iPad。接下来&#xff0c;小编将为您详细介绍这些解决方案。 一、使用iCloud的“查找我的iPhone”功能 如果你曾经启用了“查…

SSM学习6:Spring事务

简介 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功同失败Spring事务作用&#xff1a;在数据层或业务层保障一系列的数据库操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionStatus ;vo…

【网络文明】关注网络安全

在这个数字化时代&#xff0c;互联网已成为我们生活中不可或缺的一部分&#xff0c;它极大地便利了我们的学习、工作、娱乐乃至日常生活。然而&#xff0c;随着网络空间的日益扩大&#xff0c;网络安全问题也日益凸显&#xff0c;成为了一个不可忽视的全球性挑战。认识到网络安…

Python数据分析案例52——基于SSA-LSTM的风速预测(麻雀优化)

案例背景 又要开始更新时间序列水论文的系列的方法了&#xff0c;前面基于各种不同神经网络层&#xff0c;还有注意力机制做了一些缝合模型。 其实论文里面用的多的可能是优化算法和模态分解&#xff0c;这两个我还没出专门的例子&#xff0c;这几天正好出一个优化算法的例子来…

uboot学习:(四)顶层makefile分析

目录 版本号 MAKEFLAGS变量 命令输出 静默输出 设置编译结果输出目录 代码检查&#xff08;一般不需要使用&#xff0c;了解就行&#xff09; 模块编译&#xff08;一般不用uboot编译模块&#xff0c;了解就行&#xff09; 获取主机架构和系统 设置目标架构、交叉编译…

隔离驱动-视频课笔记

目录 1、需要隔离的原因 1.2、四种常用的隔离方案 2、脉冲变压器隔离 2.1、脉冲变压器的工作原理 2.2、泄放电阻对开关电路的影响 2.3、本课小结 3、光耦隔离驱动 3.1、光耦隔离驱动原理 3.2、光耦隔离驱动的电源进行分析 3.3、本课小结 4、自举升压驱动 4.1…

大数据开发中的元数据:从基础到高级应用的全面指南

在大数据开发中&#xff0c;元数据&#xff08;Metadata&#xff09;是指描述数据的数据。元数据可以提供有关数据结构、数据类型、数据约束和数据关系的重要信息。合理利用元数据可以显著提高数据建模和管理的效率。本文将详细介绍如何根据元数据建表&#xff0c;并提供一些代…

2024年公司电脑屏幕监控软件推荐|6款好用的屏幕监控软件盘点!

在当今的商业环境中&#xff0c;确保员工的工作效率和数据安全是每个企业管理者的重要任务。屏幕监控软件通过实时监控和记录员工的电脑活动&#xff0c;帮助企业有效地管理和优化工作流程。 1.固信软件 固信软件https://www.gooxion.com/ 主要特点&#xff1a; 实时屏幕监控…

养殖业饲料加工新选择,粉碎机械提升效率

在当今畜牧业快速发展的时代&#xff0c;饲料加工设备成为提升养殖效益的重要一环。其中&#xff0c;饲料加工粉碎机凭借其G效、便捷的特点&#xff0c;成为了养殖场的得力助手。 饲料加工粉碎机作为养殖业的重要设备之一&#xff0c;其主要功能是将各种原料如玉米、豆粕、麦…

Sentinel限流算法:滑动时间窗算法、漏桶算法、令牌桶算法。拦截器定义资源实现原理

文章目录 滑动时间窗算法基本知识源码算法分析 漏桶算法令牌桶算法拦截器处理web请求 滑动时间窗算法 基本知识 限流算法最简单的实现就是使用一个计数器法。比如对于A接口来说&#xff0c;我要求一分钟之内访问量不能超过100&#xff0c;那么我们就可以这样来实现&#xff1…

(一)高并发压力测试调优篇——MYSQL数据库的调优

前言 在实际项目开发中&#xff0c;很多业务场景下都需要考虑接口的性能要求&#xff0c;追求高并发、高吞吐量。那么对于此类问题如何入手呢&#xff1f;关注作者&#xff0c;不迷路。本节内容主要介绍在数据库db方面的优化&#xff0c;以mysql数据库为例。 关于db的优化&am…

7、matlab实现SGM/BM/SAD立体匹配算法计算视差图

1、matlab实现SGM/BM/SAD立体匹配算法计算视差图简介 SGM&#xff08;Semi-Global Matching&#xff09;、BM&#xff08;Block Matching&#xff09;和SAD&#xff08;Sum of Absolute Differences&#xff09;都是用于计算立体匹配&#xff08;Stereo Matching&#xff09;的…

远程帮客户解决“应用程序无法正常启动0xc000007b,请单击确定关闭应用程序”的问题

今天收到反馈&#xff0c;SmartPipe软件&#xff0c;在客户机器上报错&#xff0c;无法正常运行&#xff0c;采用远程控制软件进入客户电脑&#xff0c;发现电脑报错如下&#xff1a; 因为客户的电脑是win7&#xff0c;而之前发生过win7电脑上无法运行OCC编写的软件的情况&…

产品经理-一份标准需求文档的8个模块(14)

一份标准优秀的产品需求文档包括&#xff1a; ❑ 封面&#xff1b; ❑ 文档修订记录表&#xff1b; ❑ 目录&#xff1b; ❑ 引言&#xff1b; ❑ 产品概述&#xff1a;产品结构图 ❑ 详细需求说明&#xff1a;产品逻辑图、功能与特性简述列表、交互/视觉设计、需求详细描述&am…

Java实现数据结构——双链表

目录 一、前言 二、实现 2.1 类的创建 三、对链表操作实现 3.1 打印链表 3.2 插入数据 3.2.1 申请新节点 3.2.2 头插 ​编辑 3.2.3 尾插 3.2.4 链表长度 3.2.5 任意位置插入 3.3 删除数据 3.3.1 头删 3.3.2 尾删 3.3.3 删除指定位置数据 3.3.4 删除指定数据 3…