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

Java面试黄金宝典24

1. 什么是跳表

  • 定义

跳表(Skip List)是一种随机化的数据结构,它基于有序链表发展而来,通过在每个节点中维护多个指向其他节点的指针,以多层链表的形式组织数据。其核心思想是在链表基础上增加额外层次,每个层次都是一个有序链表,且高层链表是底层链表的子集,从而能在 O(logn) 的平均时间复杂度内完成插入、删除和查找操作。

  • 要点
  1. 随机层次:每个节点的层次随机确定,通常采用抛硬币等概率方式决定节点是否拥有更高层次。
  2. 多层链表结构:由多个层次的有序链表构成,高层链表可帮助快速定位目标节点大致位置。
  3. 操作方式:查找、插入和删除操作从最高层开始,依据节点指针移动,直至找到目标节点或确定其不存在。

代码示例

java

import java.util.Random;class Node {int value;Node[] forward;public Node(int value, int level) {this.value = value;this.forward = new Node[level + 1];}
}class SkipList {private static final int MAX_LEVEL = 16;private final float probability = 0.5f;private int level;private Node head;private Random random;public SkipList() {this.level = 0;this.head = new Node(-1, MAX_LEVEL);this.random = new Random();}private int randomLevel() {int lvl = 0;while (random.nextFloat() < probability && lvl < MAX_LEVEL) {lvl++;}return lvl;}public void insert(int value) {Node[] update = new Node[MAX_LEVEL + 1];Node current = head;for (int i = level; i >= 0; i--) {while (current.forward[i] != null && current.forward[i].value < value) {current = current.forward[i];}update[i] = current;}current = current.forward[0];if (current == null || current.value != value) {int newLevel = randomLevel();if (newLevel > level) {for (int i = level + 1; i <= newLevel; i++) {update[i] = head;}level = newLevel;}Node newNode = new Node(value, newLevel);for (int i = 0; i <= newLevel; i++) {newNode.forward[i] = update[i].forward[i];update[i].forward[i] = newNode;}}}public boolean search(int value) {Node current = head;for (int i = level; i >= 0; i--) {while (current.forward[i] != null && current.forward[i].value < value) {current = current.forward[i];}}current = current.forward[0];return current != null && current.value == value;}public void delete(int value) {Node[] update = new Node[MAX_LEVEL + 1];Node current = head;for (int i = level; i >= 0; i--) {while (current.forward[i] != null && current.forward[i].value < value) {current = current.forward[i];}update[i] = current;}current = current.forward[0];if (current != null && current.value == value) {for (int i = 0; i <= level; i++) {if (update[i].forward[i] != current) {break;}update[i].forward[i] = current.forward[i];}while (level > 0 && head.forward[level] == null) {level--;}}}
}

  • 应用
  1. 数据库索引:在数据库中作为索引结构,能有效提高数据的查找效率,加速查询操作。
  2. 缓存系统:用于快速查找和更新缓存数据,提升缓存系统的响应速度。
  3. 分布式系统:在分布式系统中,可用于维护有序的数据结构,方便数据的管理和查找。

2. 给定 n 个左括号以及 n 个右括号,打印出所有合法的括号组合

  • 定义

此问题可运用回溯法解决。回溯法是一种通过尝试所有可能的组合来找出问题解的算法。在生成括号组合的过程中,需要保证在任何位置,左括号的数量都不小于右括号的数量,并且最终左括号和右括号的数量都等于 n,以此确保组合的合法性。

  • 要点
  1. 递归生成组合:借助递归函数,持续尝试添加左括号或右括号,逐步构建括号组合。
  2. 合法性检查:在添加括号时,实时检查左括号和右括号的数量是否满足合法性条件。

代码示例

java

import java.util.ArrayList;
import java.util.List;public class GenerateParentheses {public List<String> generateParenthesis(int n) {List<String> result = new ArrayList<>();backtrack(result, "", 0, 0, n);return result;}private void backtrack(List<String> result, String current, int open, int close, int max) {if (current.length() == max * 2) {result.add(current);return;}if (open < max) {backtrack(result, current + "(", open + 1, close, max);}if (close < open) {backtrack(result, current + ")", open, close + 1, max);}}public static void main(String[] args) {GenerateParentheses gp = new GenerateParentheses();List<String> combinations = gp.generateParenthesis(3);for (String combination : combinations) {System.out.println(combination);}}
}

  • 应用
  1. 语法分析:在编译器中,用于生成合法的括号表达式,辅助进行代码的语法解析。
  2. 组合数学:在组合数学领域,用于解决与括号组合相关的问题,如计算合法括号组合的数量等。
  3. 编程竞赛:常作为编程竞赛中的题目,考察选手的算法设计和实现能力。

3. 给定四个点如何判断是否为矩形

  • 定义

判断四个点是否构成矩形,可通过计算四个点两两之间的距离,得到 6 个距离值。依据矩形的性质,矩形有两组相等的对边和两条相等的对角线,并且满足勾股定理。因此,将这 6 个距离值排序后,前四个值应相等,后两个值也应相等,同时前四个值的平方和等于后两个值的平方和。

  • 要点
  1. 距离计算:运用两点间距离公式,准确计算任意两点之间的距离。
  2. 排序和比较:对计算所得的距离值进行排序,然后对比对边和对角线的长度是否符合矩形的性质。

代码示例

java

class Point {int x, y;Point(int x, int y) {this.x = x;this.y = y;}
}public class IsRectangle {public boolean isRectangle(Point p1, Point p2, Point p3, Point p4) {double[] distances = new double[6];int index = 0;distances[index++] = distance(p1, p2);distances[index++] = distance(p1, p3);distances[index++] = distance(p1, p4);distances[index++] = distance(p2, p3);distances[index++] = distance(p2, p4);distances[index] = distance(p3, p4);java.util.Arrays.sort(distances);return distances[0] > 0 &&distances[0] == distances[1] &&distances[1] == distances[2] &&distances[2] == distances[3] &&distances[4] == distances[5] &&2 * distances[0] * distances[0] == distances[4] * distances[4];}private double distance(Point p1, Point p2) {return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));}public static void main(String[] args) {Point p1 = new Point(0, 0);Point p2 = new Point(0, 1);Point p3 = new Point(1, 1);Point p4 = new Point(1, 0);IsRectangle ir = new IsRectangle();System.out.println(ir.isRectangle(p1, p2, p3, p4));}
}

  • 应用
  1. 图形识别:在计算机图形学中,用于识别图像中的矩形区域,辅助进行图像分析和处理。
  2. 几何计算:在几何计算相关的应用中,判断给定的四个点是否构成矩形,为后续的几何分析提供基础。
  3. 游戏开发:在游戏开发中,可用于检测游戏元素的碰撞边界是否为矩形,实现碰撞检测等功能。

4. 海量 URL 数据,低内存情况下如何找重复次数最高的那一个

  • 定义

此问题可采用分治和哈希表的方法解决。由于内存有限,无法一次性将所有 URL 数据加载到内存中,所以将海量的 URL 数据按照哈希函数进行划分,存储到多个小文件中,使每个小文件的数据量能被加载到内存。接着对每个小文件中的 URL 进行统计,利用哈希表记录每个 URL 的出现次数,找出每个小文件中出现次数最多的 URL。最后比较所有小文件中出现次数最多的 URL,得到最终出现次数最多的 URL。

  • 要点
  1. 分治策略:将海量数据划分为多个小文件,降低内存压力,便于处理。
  2. 哈希表统计:在每个小文件中使用哈希表统计 URL 的出现次数,高效记录数据信息。
  3. 合并结果:对比所有小文件中出现次数最多的 URL,得出最终结果。

  • 应用
  1. 网络日志分析:在分析网络日志时,找出访问次数最多的 URL,了解用户的访问偏好和网站的热门内容。
  2. 搜索引擎优化:在搜索引擎优化工作中,分析用户访问的热门 URL,为网站的优化和推广提供依据。
  3. 流量监控:对网络流量中的 URL 进行统计,找出流量集中的 URL,进行针对性的流量管理和优化。

5. 10 亿个数,如何求 100 个最大的

  • 定义

可以利用最小堆来解决该问题。最小堆是一种完全二叉树,其每个节点的值都小于或等于其子节点的值。首先从 10 亿个数中取出前 100 个数构建一个最小堆,然后遍历剩下的数,对于每个数,若它大于堆顶元素,则将堆顶元素替换为该数,并调整堆,使其依旧满足最小堆的性质。最终,堆中的 100 个数即为 10 亿个数中最大的 100 个数。

  • 要点
  1. 最小堆构建:使用前 100 个数构建最小堆,为后续筛选做准备。
  2. 堆调整:在遍历剩余数的过程中,不断调整堆,保证堆始终保持最小堆的性质。

代码示例

java

import java.util.PriorityQueue;public class FindTop100 {public static int[] findTop100(int[] nums) {PriorityQueue<Integer> minHeap = new PriorityQueue<>(100);for (int i = 0; i < 100; i++) {minHeap.offer(nums[i]);}for (int i = 100; i < nums.length; i++) {if (nums[i] > minHeap.peek()) {minHeap.poll();minHeap.offer(nums[i]);}}int[] result = new int[100];for (int i = 99; i >= 0; i--) {result[i] = minHeap.poll();}return result;}public static void main(String[] args) {int[] nums = new int[1000000000];// 初始化 nums 数组int[] top100 = findTop100(nums);for (int num : top100) {System.out.println(num);}}
}

  • 应用
  1. 数据筛选:在大数据处理场景中,筛选出数据中的前 k 个最大值,用于数据分析和决策。
  2. 排行榜系统:在各类排行榜系统中,找出排名前 k 的数据,如游戏排行榜、销售排行榜等。
  3. 资源分配:根据数据的大小进行资源分配,优先分配给排名靠前的数据。

6. 如何实现大文件排序

  • 定义

大文件排序可采用外部排序的方法。当数据量极大,无法一次性将所有数据加载到内存中进行排序时,外部排序将大文件分割成多个小文件,每个小文件能被加载到内存中进行内部排序(如快速排序、归并排序等),之后将这些有序的小文件进行归并,得到最终的有序大文件。

  • 要点
  1. 文件分割:依据内存大小,将大文件合理分割成多个小文件。
  2. 内部排序:对每个小文件进行内部排序,得到有序的小文件。
  3. 归并操作:将有序的小文件进行归并,生成最终的有序大文件。

  • 应用
  1. 数据库排序:在数据库中,对大量数据进行排序时,外部排序是常用的方法,确保数据的有序存储和查询。
  2. 日志文件处理:在处理大量日志文件时,需要对日志文件进行排序,便于后续的日志分析和问题排查。
  3. 大数据存储:在大数据存储系统中,对数据文件进行排序,提高数据的检索效率。

7. 给定三个大于 10G 的文件(每行一个数字)和 100M 内存的主机,如何找到在三个文件都出现且次数最多的 10 个字符串

  • 定义

此问题可采用分治和哈希的思想解决。由于内存有限,无法一次性将三个文件的数据加载到内存中,所以将每个文件按照哈希函数进行划分,存储到多个小文件中,使每个小文件的数据量能被加载到内存。对于每个小文件,使用哈希表统计每个数字的出现次数,并记录在三个文件中都出现的数字及其出现次数。最后将所有小文件的统计结果进行合并,找出在三个文件中都出现且次数最多的 10 个数字。

  • 要点
  1. 文件划分:使用哈希函数将大文件划分为多个小文件,降低内存使用。
  2. 哈希表统计:在每个小文件中使用哈希表统计数字的出现次数,记录有效信息。
  3. 合并结果:整合所有小文件的统计结果,找出最终结果。

  • 应用
  1. 数据挖掘:在数据挖掘过程中,分析多个数据源中共同出现且频率较高的数据,发现数据之间的关联和规律。
  2. 日志分析:在日志分析中,找出多个日志文件中共同出现且频率较高的事件,用于故障排查和系统监控。
  3. 信息检索:在信息检索系统中,统计多个文档中共同出现的关键词,提高检索的准确性和效率。

8. 如何求两个 int 数组的并集、交集

  • 定义
  1. 交集:使用哈希表实现。先将一个数组中的元素存入哈希表,再遍历另一个数组,检查每个元素是否在哈希表中,若存在则将其加入交集中。
  2. 并集:把两个数组的元素都存入哈希表,然后遍历哈希表,将所有元素加入并集中,同时注意去重。

  • 要点
  1. 哈希表使用:借助哈希表的快速查找特性,提高交集和并集的计算效率。
  2. 去重处理:在计算并集时,确保结果中不包含重复元素。

代码示例

java

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class ArrayIntersectionUnion {public List<Integer> intersection(int[] nums1, int[] nums2) {Map<Integer, Integer> map = new HashMap<>();List<Integer> result = new ArrayList<>();for (int num : nums1) {map.put(num, map.getOrDefault(num, 0) + 1);}for (int num : nums2) {if (map.containsKey(num) && map.get(num) > 0) {result.add(num);map.put(num, map.get(num) - 1);}}return result;}public List<Integer> union(int[] nums1, int[] nums2) {Map<Integer, Integer> map = new HashMap<>();List<Integer> result = new ArrayList<>();for (int num : nums1) {map.put(num, 1);}for (int num : nums2) {map.put(num, 1);}for (int num : map.keySet()) {result.add(num);}return result;}public static void main(String[] args) {int[] nums1 = {1, 2, 2, 3};int[] nums2 = {2, 2, 4};ArrayIntersectionUnion ai = new ArrayIntersectionUnion();List<Integer> intersection = ai.intersection(nums1, nums2);List<Integer> union = ai.union(nums1, nums2);System.out.println("Intersection: " + intersection);System.out.println("Union: " + union);}
}

  • 应用
  1. 数据处理:在数据处理过程中,经常需要计算两个数据集的交集和并集,用于数据筛选和整合。
  2. 数据库查询:在数据库查询中,使用交集和并集操作来筛选数据,满足不同的查询需求。
  3. 集合运算:在数学和计算机科学的集合运算中,交集和并集是基本的运算操作。

9. 如何实现 1T query 统计前 k 个热门的

  • 定义

可采用分治、哈希和堆的思想解决该问题。由于数据量巨大,无法一次性将所有 query 数据加载到内存中,所以将 1T 的 query 数据按照哈希函数进行划分,存储到多个小文件中,使每个小文件的数据量能被加载到内存。对于每个小文件,使用哈希表统计每个 query 的出现次数,然后使用最小堆筛选出出现次数最多的 k 个 query。最后将所有小文件的筛选结果进行合并,再次使用最小堆筛选出最终的前 k 个热门 query。

  • 要点
  1. 分治策略:将海量数据划分为多个小文件,减轻内存负担。
  2. 哈希表统计:在每个小文件中使用哈希表统计 query 的出现次数,记录数据频率。
  3. 最小堆筛选:利用最小堆筛选出出现次数最多的 k 个 query,高效获取热门数据。

  • 应用
  1. 搜索引擎:在搜索引擎中,统计用户搜索的热门关键词,为搜索结果的排序和推荐提供依据。
  2. 电商平台:在电商平台中,统计热门商品的搜索次数,用于商品推荐和营销活动策划。
  3. 社交媒体:在社交媒体平台中,统计热门话题和趋势,帮助用户发现热点内容。

10. 对 10G 个数进行排序,限制内存为 1G 大数问题,但是这 10G 个数可能是整数,字符串以及中文,如何排序

  • 定义

采用外部排序和多阶段处理的方法。首先根据数据的类型(整数、字符串、中文)将 10G 数据进行分类,分别存储到不同的文件中。然后对于每个类型的数据文件,将其分割成多个小文件,使每个小文件能被加载到内存中进行排序。对于整数可使用快速排序、归并排序等算法;对于字符串和中文,可使用字典序排序。接着将每个类型的有序小文件进行归并,得到每个类型的有序大文件。最后将不同类型的有序大文件按照一定规则(如先整数,再字符串,最后中文)进行合并,得到最终的有序文件。

  • 要点
  1. 数据分类:依据数据类型对数据进行分类,分别处理不同类型的数据。
  2. 文件分割和内部排序:将大文件分割成小文件,在内存中对小文件进行内部排序。
  3. 归并操作:将有序的小文件和不同类型的有序大文件进行归并,得到最终的有序文件。

  • 应用
  1. 大数据处理:在大数据处理场景中,对大量不同类型的数据进行排序,为后续的数据分析和挖掘提供基础。
  2. 数据库管理:在数据库管理中,对数据库中的数据进行排序,提高数据的查询和检索效率。
  3. 数据仓库:在数据仓库中,对数据进行排序和整理,便于数据的存储和管理。

 友情提示:本文已经整理成文档,可以到如下链接免积分下载阅读

https://download.csdn.net/download/ylfhpy/90549095

相关文章:

Java面试黄金宝典24

1. 什么是跳表 定义 跳表&#xff08;Skip List&#xff09;是一种随机化的数据结构&#xff0c;它基于有序链表发展而来&#xff0c;通过在每个节点中维护多个指向其他节点的指针&#xff0c;以多层链表的形式组织数据。其核心思想是在链表基础上增加额外层次&#xff0c;每…...

Windows 11系统下Kafka的详细安装与启动指南(JDK 1.8)

1. 安装前准备 在Windows 11系统中安装Kafka之前,需要确保满足以下条件: 1.1 系统要求 Windows 11操作系统(64位)至少4GB内存(建议8GB或更高)至少5GB可用磁盘空间管理员权限1.2 所需工具 浏览器(用于下载软件)解压工具(如7-Zip、WinRAR,Windows 11自带的解压功能也…...

树莓派超全系列文档--(16)无需交互使用raspi-config工具其三

无需交互使用raspi-config工具其三 无需交互的 raspi-configAdvanced optionsExpand filesystemNetwork interface namesNetwork proxy settingsBoot orderBootloader versionWaylandAudio config Update 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文…...

【蓝桥杯】算法笔记1

1.暴力枚举 给定一个正整数n,请找出所有满足a + b = n的整数对(a, b),其中a和b都是正整数,且a ≤ b。 输入格式:一个正整数n (1 ≤ n ≤ 10⁶) 输出格式:所有符合条件的(a, b)对,每行一对,按a的升序排列。如果没有符合条件的对,输出"No solution"。 问题分…...

爱因斯坦求和 torch

目录 向量点积 矩阵乘法 矩阵转置 向量转换相机坐标系 在 Python 的科学计算库&#xff08;如 NumPy&#xff09;中&#xff0c;einsum 是一个强大的函数&#xff0c;它可以简洁地表示各种张量运算。下面是几个不同类型的使用示例&#xff1a; 向量点积 向量点积是两个向量…...

Linux命令-sed指令

sed命令参数&#xff1a; 基本参数 -n&#xff1a;抑制默认输出&#xff0c;只显示匹配的行。 -e&#xff1a;指定 sed 脚本。 -i&#xff1a;直接修改文件内容。 -f&#xff1a;指定包含 sed 脚本的文件。 -r&#xff1a;启用扩展正则表达式。 常用操作 s&#xff1a;替换字符…...

新手SEO优化实战快速入门

内容概要 对于SEO新手而言&#xff0c;系统化掌握基础逻辑与实操路径是快速入门的关键。本指南以站内优化为切入点&#xff0c;从网站结构、URL设计到内链布局&#xff0c;逐层拆解搜索引擎友好的技术框架&#xff1b;同时聚焦关键词挖掘与内容策略&#xff0c;结合工具使用与…...

如何使不同的窗体控件,适应不同分辨率的屏幕?

问题 当屏幕分辨率提高或降低时&#xff0c;原分辨率显示正常的控件&#xff0c;将变得很小或很大&#xff0c;字体也变得太大或太小。 解决办法 当分辨率变化时&#xff0c;采用递归的方法&#xff0c;对所有的控件放大或缩小。 public static void MainForm_Load(object s…...

sqli-labs靶场 less 11

文章目录 sqli-labs靶场less 11 POS联合注入 sqli-labs靶场 每道题都从以下模板讲解&#xff0c;并且每个步骤都有图片&#xff0c;清晰明了&#xff0c;便于复盘。 sql注入的基本步骤 注入点注入类型 字符型&#xff1a;判断闭合方式 &#xff08;‘、"、’、“”&…...

tomcat部署项目打开是404?

问题描述 今天在帮助一个小伙伴解决问题的时候 部署成功了 就是打不开总是404 他这个项目是公司的一个18年的项目 巨老&#xff01;&#xff01;&#xff01; HTTP状态 404 - 未找到 类型 状态报告 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示…...

[Linux]解决虚拟机 ubantu系统下网络的问题

问题来源&#xff1a;打开ubantu发现网络连接标识消失 解决步骤&#xff1a; 重新安装&#xff0c;前面操作无效 切换桥接模式、直连手机网络 已解决&#xff1a;...

如何使用stable diffusion 3获得最佳效果

参考&#xff1a;How to get the best results from Stable Diffusion 3 Scaling Rectified Flow Transformers for High-Resolution Image Synthesis prompting SD3 不再受限于CLIP的最长77个token的长度限制&#xff0c;可以输入更长的prompt。 &#xff08;两个CLIP模型的…...

SakuraCat(2)Endpoint

Endpoint 功能概述 监听指定端口&#xff08;默认是 8080&#xff09;的客户端连接。接受客户端连接后&#xff0c;为每个连接创建一个新的线程进行处理。使用 Processor 类来处理客户端的请求和响应。 package com.SakuraCat.connector.protocolHandler;import com.SakuraC…...

Java学习笔记1——编程基础

一、整数类型变量 注意&#xff1a;每个字符型常量占两个字节 二、自动类型转换和强制类型转换 ​​​三、算术运算符 四、赋值运算符 五、比较运算符 六、逻辑运算符 七、运算符的优先级 运算符的优先级可以通过以下口诀来记忆&#xff1a; 括号优先&#xff0c;单目次之&am…...

微服务核心知识点深度解析:从组件到架构设计

微服务核心知识点深度解析&#xff1a;从组件到架构设计 微服务核心知识点深度解析&#xff1a;从组件到架构设计一、Spring Cloud 5 大核心组件详解二、服务注册与发现&#xff1a;微服务的 “通讯录”概念解析Spring Cloud 中的实现 三、Nacos&#xff1a;不止是注册中心核心…...

SpringBoot3+EasyExcel通过WriteHandler动态实现表头重命名

方案简介 为了通过 EasyExcel 实现动态表头重命名&#xff0c;可以封装一个方法&#xff0c;传入动态的新表头名称列表&#xff08;List<String>&#xff09;&#xff0c;并结合 WriteHandler 接口来重命名表头。同时&#xff0c;通过 EasyExcel 将数据直接写入到输出流…...

Python小练习系列 Vol.11:回文数筛选(filter + 字符串反转)

&#x1f9e0; Python小练习系列 Vol.11&#xff1a;回文数筛选&#xff08;filter 字符串反转&#xff09; &#x1f50d; 本期我们用 Python 的 filter() 函数结合字符串反转技巧&#xff0c;一行代码搞定“回文数”的判断与筛选&#xff01; &#x1f9e9; 一、题目描述 回…...

BUUCTF-web刷题篇(5)

13.upload1 文件上传漏洞&#xff08;上传图片&#xff09; 按照传统方法&#xff0c;新建文件&#xff08;xinjian&#xff09;写一句话木马&#xff0c;利用Windows文件后缀识别的特点&#xff0c;将后缀名改为图片后缀名(xinjian.jpg)&#xff0c;上传文件&#xff0c;抓包…...

NestJS——创建项目、编写User模块

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…...

《Python Web部署应知应会》No2:如何基于FastAPI 和 OLLAMA 架构实现高并发 AI 推理服务

《Python Web部署应知应会》No2&#xff1a;如何基于FastAPI 和 OLLAMA 架构实现高并发 AI 推理服务&#xff08;上&#xff09; 摘要&#xff1a; 在 FastAPI 和 OLLAMA 架构中实现高并发 AI 推理服务&#xff0c;并优化性能指标采集和缓存策略&#xff0c;可以充分利用 asy…...

NUUO摄像头debugging_center_utils命令执行漏洞

免责声明&#xff1a;本号提供的网络安全信息仅供参考&#xff0c;不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权&#xff0c;请及时与我联系&#xff0c;我将尽快处理并删除相关内容。 漏洞描述 NUUO NVR是中国台湾省NUUO公司旗…...

uv 命令用conda命令解释

uv&#xff1a;安装 | uv-zh-cn 功能 | uv-zh-cn #showkey -a 可看按键的"\eOP"转义序列是啥# 绑定快捷键 f1 到 source .venv/bin/activate函数 bind "\eOP": "source .venv/bin/activate " #conda activate# 绑定快捷键 f2 到uv add函数 …...

解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误

解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误 环境设置 操作系统: macOS硬件平台: M1 Pro前端框架: Vue 3Node.js 版本: 20 在使用 Vue 项目时&#xff0c;我们尝试集成 vite-plugin-top-level-await 插件以支持顶层 await 语法。然而&#xff…...

2.pycharm部署Ai - 编程好助手

一、pycharm安装continue插件 1.提前安装好pycharm&#xff0c;并双击打开 2.File – Setting 3.Plugins – 搜索Continue &#xff0c; 点击Install安装 4.点ok 二、获取硅基流动API 1.登入网站&#xff1a;https://siliconflow.cn/zh-cn/#/&#xff0c;并注册登入 2.获取AP…...

uniapp + Axios + 小程序封装网络请求

前言 小程序自带的网络请求使用起来比较麻烦&#xff0c;不便于管理&#xff0c;就需要封装网络请求&#xff0c;减少繁琐步骤&#xff0c;封装最终效果&#xff0c;根据类别将网络请求封装在文件中&#xff0c;使用得时候调用文件名名称加文件中得自定义名称&#xff0c;就可…...

初始数据库--MySQL

一&#xff0c;数据库&#xff08;DataBase&#xff09;概述 思考程序开发中数据存储问题&#xff1f; 变量 int c 10; 对象{名字&#xff0c;价格&#xff0c;颜色} 集合类-->对象 以上方式存储数据都是在内存中存储 程序运行结束后数据都释放了 …...

ENSP学习day12

链路聚合–LACP&#xff08;Link Aggregation Control Protocol&#xff09; 链路聚合是指将多条物理链路通过一种技术进行绑定&#xff0c;从而形成一个逻辑上更高带宽、更可靠的链路。这种技术能够提高网络传输速率和可靠性&#xff0c;同时实现负载均衡。链路聚合可以在不同…...

【LeetCode 题解】算法:29.两数相除

在算法的世界里&#xff0c;常常会出现一些打破常规、挑战思维的题目。LeetCode 第 29 题 “两数相除” 便是其中之一。这道题不仅要求我们在不能使用乘法、除法和取余运算的前提下实现两数相除&#xff0c;还需要处理 32 位有符号整数的溢出问题&#xff0c;对编程者的逻辑思维…...

打包python文件生成exe

下载PyInstaller 官网 pip install pyinstaller验证是否安装成功 pyinstaller --version打包 pyinstaller "C:\Documents and Settings\project\myscript.py"会生成.spec,build,dist三项&#xff0c;其中build,dist为文件夹&#xff0c;dist是最后的可执行文件&a…...

【NLP】13. NLP推理方法详解 --- 穷举和贪心搜索

NLP推理方法详解 — 穷举和贪心搜索 在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;推理&#xff08;Inference&#xff09;是指在给定模型的情况下&#xff0c;找到最可能的输出序列。由于模型通常是神经网络&#xff0c;它会为每个可能的输出分配一个概率&am…...