力扣热题100,力扣49.字母异位词分组力扣128.最长连续序列力扣.盛水最多的容器力扣42.接雨水(单调栈)
目录
力扣49.字母异位词分组
力扣128.最长连续序列
力扣.盛水最多的容器
力扣42.接雨水(单调栈)
1.包的命名规范:
java的命名规范
全部采用小写
结尾不能加负数
声明包:
位置必须在首行
类:
字母数字下划线,美元符号
不能数字开头
不能有中文
不能以关键字命名
区分英文大小写
导包:说明当前所使用的类所在的包
*通配符,倒入包下所有内容
类名:大驼峰命名
属性,方法名:小驼峰命名
方法中的参数叫形参,起作用的是数据类型,调用方法时候实际传递的参数叫实参。
引用类型
类,接口,枚举,注解,数组
力扣49.字母异位词分组
相当于,我们把每个字母排序之后,然后获取当前字符串是否有对应列表,假如有,给他添加进去,没有则生成一个
return new ArrayList<List<String>>(ret.values()) 这里是吧ret这个哈希表的值都给放到这个ArrayList里面,然后去返回。
class Solution {public List<List<String>> groupAnagrams(String[] strs) {//使用排好序的作为KeyMap<String,List<String>>ret=new HashMap<>();int n=strs.length;for(int i=0;i<n;i++){char[] a=strs[i].toCharArray();Arrays.sort(a);String str=new String(a);if(ret.get(str)==null){ret.put(str,new ArrayList<>());}ret.get(str).add(strs[i]);}return new ArrayList <List<String>>(ret.values());}
}
力扣128.最长连续序列
这个吗,第一想法就是排序,第二个想法看到ON,无脑哈希表,其余的再思考细节,用Set去个重复,然后这个题解写的一句话,我觉得特别牛逼,他说
假如一个数,他是最优的开头,换句话说,从他开始就是最长的,那么他不应该有前一个数,比如 200 100 1 2 3 4,那你说1作为最优的开头,是不是不应该有比1小1的数字,0,要不0就是最优秀的开头了。
class Solution {public int longestConsecutive(int[] nums) {//排序最少是nlogn,我可以哈希表,使用数组代替下班//我的话肯定首先先给他去重if(nums.length==0)return 0;Set<Integer>a=new HashSet<>();for(int num:nums){a.add(num);}//看到题解说的有道理,假如这个数应该是最长的话,那他肯定不存在前一个树//比如[100,4,200,1,3,2],从1开始是最优秀的选择,那么假如存在0的话,那么1肯定不是最优秀的选择;//所以跳过就是需要看看是否存在前一个数,存在则跳过,再去检查后一个数字呗,更新长度int max=0;for(int number:a){int ret=0;if(a.contains(number-1)==true){continue;}else{while(a.contains(number)==true){ret++;number++;max=Math.max(ret,max);}}}return max;
}
}
力扣.盛水最多的容器
开始先全部找能盛多少,然后他的公式吗,长✖️宽,然后不断便利,看看左右哪个小,假如左边小就去移动左边,右边小移动右边,肯定不能移动大的边,不然只会更小
class Solution {public int maxArea(int[] height) {int n=height.length;int max=0;int cur=0;int end=n-1; //dp[n]:表示n位置上的可容纳的最多的水while(cur<end){max=Math.max(max,Math.min(height[cur],height[end])*(end-cur));if(height[end]>height[cur]){cur++;}else {end--;}}return max;}
}
力扣42.接雨水(单调栈)
这个题,之前写过,再次写又有不同感受,发现有一行代码是冗余的,所以我删了之后,发现好理解了很多
单调栈的作用是啥呢?
其实你不用在乎什么单调栈,你只需要存的下标,每个下标都比当前位置大,这样方便求他的长度,就好。其余倒是很简单没啥操作
相当于还是,我是找两个最近的水槽,然后出一个中间位置。相当于找到左右边界和水槽位置,就可以开始搞
class Solution {public int trap(int[] height) {Stack<Integer>stack=new Stack<>();int n=height.length;int sum=0;for(int i=0;i<n;i++){//什么样子会有雨水呢,两个水槽,并且中间有一个比两个水槽的一个要小while(!stack.isEmpty()&&height[stack.peek()]<height[i]){int mid=stack.pop();
//这里我们计算那个中间值if(!stack.isEmpty()){//两个边界值sum+=(Math.min(height[stack.peek()],height[i])-height[mid])*(i-stack.peek()-1);}}stack.add(i);}return sum;}
}
力扣31.下一个排列
相当于脑筋急转弯,我也是看题解的那个大哥写的,非常好
class Solution {public static void nextPermutation(int[] nums) {// 123456int n=nums.length;int i=n-2;//1 2 3while(i>=0&&nums[i]>=nums[i+1]){i--;}int ret=n-1;if(i>=0){while(ret>=0&&nums[ret]<=nums[i]){ret--;}}if(i>=0){swap(nums,ret,i);reverse(nums, i + 1, n - 1);}else if(i<0) {reverse(nums,0,n-1);}
}public static void swap(int[]nums,int a,int b){int t=nums[a];nums[a]=nums[b];nums[b]=t;}public static void reverse(int []nums,int x,int y){int left=x;int right=y;while(left<right){int t=nums[left];nums[left]=nums[right];nums[right]=t;left++;right--;}}
}
力扣287.寻找重复数
首先要保证不会越界,然后我们可以把它想象成一个链表,然后经典快慢指针确定是否有环,假如没环会一直不相遇,有环则会相遇,
然后让快或者慢回去,注意哈回去也是一个一个走,不能再是那个快走了
class Solution {public static int findDuplicate(int[] nums) {int n=nums.length;//不去越界的情况下,n+1个整数的数组,数字范围在[1,n]之内,这个是关键,否则可能会越界//那么我首先找他们相遇的地方int fast=nums[nums[0]];int slow=nums[0];//1 3 4 2 2 5 6while(slow!=fast){//走一步,vs走两步fast=nums[nums[fast]];slow=nums[slow];}fast=0;while(slow!=fast){//走一步,vs走两步fast=nums[fast];slow=nums[slow];}return slow;}
}
力扣239.滑动窗口最大值
这道题也是很有意思的反正,难度倒是不难,但是蛮考验代码,主要是针对情况,你是否能够井井有条的梳理出来,还要想一下,我平时用的Queue本质是LinkedList(这个本质可以支持头插,尾插,头删啥的)
我们需要面对一个情况,就是他如何更新最大值,当最大值迭代的时候,我们怎么处理,你假如开始不一条一条分析,而是直接想这两个问题,是不是很好去解决的,要是想要去解决这个题,我们需要一条一条的分析,首先就是用什么存储,肯定是一个队列,我们要维持什么呢,就是里面可以理解为一个
然后就是,维持一个递减的顺序,假如当前队列里面,所有人都是尾插,假如由于你的进入,导致顺序出现问题,不是递减的,那么就需要进行一个清空操作,然后就是因为开始没到3个,所以前三个是一个处理,后面那些就可以统一处理了,然后如何处理我们移动的时候
然后弹出的条件也很有意思,我们需要细思考一下,当前位置两种可能,要吗我移动是当前队列里面的队列首部,要吗是后面的某个值,假如是队首,那么你弹出,那么假如队列里面 3,2,1 然后你过去啦这个1(但是他并不是队列的队首,那么你又想一下,这种情况不存在的其实,只有第一种情况,因为,队首肯定是当前最大的元素,你弹出的元素,不可能是队列中的中间值甚至末尾值,因为队首登录的时候,假如1,2,3,4 这个4会把前面的1,2,3给清空,这样就好理解啦,所以只会出现一种情况
class Solution {public int[] maxSlidingWindow(int[] nums, int k) {if(nums == null || nums.length < 2) return nums;// 双端队列 保存当前窗口最大值的数组位置 保证队列中数组位置的数值按从大到小排序LinkedList<Integer> queue = new LinkedList();// 结果数组int[] result = new int[nums.length-k+1];for(int i = 0;i < nums.length;i++){// 保证从大到小 如果前面数小则需要依次弹出,直至满足要求,我看尾巴和当前值while(!queue.isEmpty() && nums[queue.peekLast()] <= nums[i]){//弹出末端元素queue.pollLast();}// 添加当前值对应的数组下标,尾插,细想一下,他肯定要吗是当前最大,要吗是当前最小queue.addLast(i);//插入的是下标//当最大的位置(队列头),滑动窗口到了,我们的处理,i-k表示的就是,窗口的最左边。我们下标是到了[i,j]j+1 就是到达这个j+1时候的变化if(queue.peek() == i-k){ queue.poll(); } // 当窗口长度为k时(是窗口长度,不是队列长度,换句话队列只要有一个就行 保存当前窗口中最大值)if(i+1 >= k){//当i>2之后,后面就可以长度都是k了,所以对应定期的给他添加到结果里面result[i+1-k] = nums[queue.peek()];}}return result;}
}
力扣54.螺旋矩阵
没思路,看的题解,恍然大悟,这个题,复杂的地方是模拟想的很乱,导致不好去解题,
注意,边界值,可以相等,因为边界值相等的时候,他就是最后一行了。
class Solution {public List<Integer> spiralOrder(int[][] matrix) {if (matrix.length == 0)return new ArrayList<Integer>();//找到上下左右四个边界int l = 0, r = matrix[0].length - 1, t = 0, b = matrix.length - 1, x = 0;//就是矩阵的乘法来去做一个总数Integer[] res = new Integer[(r + 1) * (b + 1)];while (true) {//向右行走for (int i = l; i <= r; i++) res[x++] = matrix[t][i]; // left to right//这个++就相当于缩圈了,并且他这个t++之后,直接到的是下一个区域,就是6这个位置if (++t > b) break;//想下走for (int i = t; i <= b; i++) res[x++] = matrix[i][r]; // top to bottom//缩圈if (l > --r) break;//向左走for (int i = r; i >= l; i--) res[x++] = matrix[b][i]; // right to leftif (t > --b) break;//向上走for (int i = b; i >= t; i--) res[x++] = matrix[i][l]; // bottom to topif (++l > r) break;}return Arrays.asList(res);}
}
相关文章:
力扣热题100,力扣49.字母异位词分组力扣128.最长连续序列力扣.盛水最多的容器力扣42.接雨水(单调栈)
目录 力扣49.字母异位词分组 力扣128.最长连续序列 力扣.盛水最多的容器 力扣42.接雨水(单调栈) 1.包的命名规范: java的命名规范 全部采用小写 结尾不能加负数 声明包: 位置必须在首行 类: 字母数字下划线,美元符号 不能数字开头 不能有中文 不能以关键字命名 区…...
react naive 网络框架源码解析
本文取 react native 两个区别很大的版本做分析(0.76.5、0.53.3) 一、0.76.5 版fetch 全流程排查 1、JS 端的实现 随手写一个fetch,点开。 我们这里常用的还是手机端,因此选择 react-native,react-native-windows …...
DID在元宇宙的应用爆发:数字身份资产化与跨平台迁移——解析Decentraland等项目的虚拟身份全链路实现
元宇宙的兴起催生了多维度的数字身份需求,但传统虚拟身份系统受限于中心化架构,面临数据孤岛、身份碎片化、资产归属模糊等核心挑战。本文以Decentraland、The Sandbox、Somnium Space等顶级元宇宙平台为研究对象,探讨去中心化身份࿰…...
MySQL的内置函数与复杂查询
目录 前言 一、聚合函数 1.1日期函数 1.2字符串函数 1.3数学函数 1.4其它函数 二、关键字周边 2.1关键字的生效顺序 2.2数据源 2.3可以使用聚合函数的关键字 前言 在前面几篇文章中,讲解了有关MySQL数据库、数据库表的创建、数据库表的数据操作等等。本文我…...
mysql中select 1 from的作用
在MySQL中,SELECT 1 FROM ... 是一个常见的SQL写法,通常用于以下场景: 1. 作用与原理 SELECT 1 的本质是返回一个常数值(即数字1),且不依赖表中的实际数据。 它的核心作用是快速验证逻辑条件是否成立&…...
Linux中 du (详解)、 df (详解)和 free(详解)以及它们的区别
目录 du命令 df命令 free命令 du/df/free区别 Tree du命令 功能:用于计算文件或目录所占用的磁盘空间大小。它会递归地遍历指定目录下的所有文件和子目录,统计它们占用的磁盘块数,从而得出占用的空间大小。常用选项: -h&…...
ETL交通行业案例丨某大型铁路运输集团ETL数据集成实践
在广袤的祖国边疆,一条条钢铁动脉承载着区域经济发展的重要使命。某大型铁路运输集团作为区域交通枢纽的运营主体,管辖着横跨多个省、区的铁路网络,运营里程超3000公里,每日承载着数以万计的客货运输任务。随着"数字中国&quo…...
【数据挖掘】Apriori算法
Apriori算法是经典的关联规则挖掘算法,用于从事务型数据库中发现频繁项集和强关联规则,特别常用于购物篮分析等场景。 🧠 核心思想(Apriori原则) 一个项集是频繁的,前提是它的所有子集也必须是频繁的。 即&…...
7.9/Q1,Charls最新文章解读
文章题目:Association between urbanization levels and frailty among middle-aged and older adults in China: evidence from the CHARLS DOI:10.1186/s12916-025-03961-y 中文标题:中国中老年人城市化水平与虚弱程度之间的关联࿱…...
从入门到登峰-嵌入式Tracker定位算法全景之旅 Part 7 |TinyML 定位:深度模型在 MCU 上的部署
Part 7 |TinyML 定位:深度模型在 MCU 上的部署 本章聚焦如何在 ESP32-S3 平台上,通过 TinyML 将深度学习模型应用到定位场景,包括特征提取、模型剪枝与量化、TensorFlow Lite for Microcontrollers 部署,以及在线微调与自适应策略。 一、为什么要用 TinyML? 非线性特征挖…...
Codeforces Round 1023 (Div. 2) ABC
链接 Dashboard - Codeforces Round 1023 (Div. 2) - Codeforces A 将数组a分成两组,使得gcd(b) ! gcd(c) 思路 gcd(a,b) < min(a,b) 求数组a的max,min 如果数组a都一样无解 (即max min 否则有解:让是max的一组&…...
56. 合并区间
给定若干个区间的集合,将重叠的区间合并后,放入一个数组中返回。 具体思路就是按左端点排序后合并区间,因为按左端点排序后,可以确保每次合并都是以最小元素为合并后区间的起始,并且按左端点排序可以方便合并ÿ…...
Docker安装使用
1.Docker简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜…...
Linux/AndroidOS中进程间的通信线程间的同步 - POSIX IPC
1 什么是POSIX? POSIX(Portable Operating System Interface)即可移植操作系统接口,它是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列标准的总称。以下为你展开介绍: 产生背景:在…...
5.2创新架构
一、MoE(Mixture of Experts,混合专家模型) 了解混合专家模型架构,与 Dense 架构相比有什么优劣 是一种提升大模型推理效率和参数利用率的关键技术 核心思想:在模型中增加多个“专家模块”(Experts&#x…...
驱动开发系列57 - Linux Graphics QXL显卡驱动代码分析(四)显示区域更新
一:概述 前面在介绍了显示模式设置(分辨率,刷新率)之后,本文继续分析下,显示区域的绘制,详细看看虚拟机的画面是如何由QXL显卡绘制出来的。 二:相关数据结构介绍 struct qxl_moni…...
疗愈服务预约小程序源码介绍
基于ThinkPHP、FastAdmin和UniApp开发的疗愈服务预约小程序源码,这款小程序在功能设计和用户体验上都表现出色,为疗愈行业提供了一种全新的服务模式。 该小程序源码采用了ThinkPHP作为后端框架,保证了系统的稳定性和高效性。同时,…...
力扣118,1920题解
记录 2525.5.6 题目: 思路: 用一个二维数组dp[numRows][numRows]保存每一次动态规划的结果 1.令dp[0][0]1(第一列) 2.找规律 3.得到如下规律(以下情况均为列数大于1) if(col0){ dp[row][col]1 } else { dp[row][col]dp[row-1][col-1]dp[row-1][col] }…...
电池热管理CFD解决方案,为新能源汽车筑安全防线
在全球能源结构加速转型的大背景下,新能源汽车产业异军突起,成为可持续发展的重要驱动力。而作为新能源汽车 “心脏” 的电池系统,其热管理技术的优劣,直接决定了车辆的安全性、续航里程和使用寿命。电池在充放电过程中会产生大量…...
(一)毛子整洁架构(Domain Layer/Repository Pattern/Result Pattern/Error Pattern)
文章目录 项目地址一、整洁架构概念1.1 各个分层的功能1. Domain核心部件2. Application Layer3. Infrastructure layer3. Presenetation layer1.2 项目数据库二、Domain Layer2.1 Apartments 实体1. Current Value Obj2. Money Value Obj3. Apartment 类2.2 User 实体1. User类…...
XSS ..
Web安全中的XSS攻击详细教学,Xss-Labs靶场通关全教程(建议收藏) - 白小雨 - 博客园跨站脚本攻击(XSS)主要是攻击者通过注入恶意脚本到网页中,当用户访问该页面时,恶意脚本会在用户的浏览器中执行…...
Github Action部署node项目
Github Action部署node项目 个人学习的时候,作为前端感觉这个CICD基本流程还是有必要了解的,这里记录一下Github Action部署node项目的流程,也算是一个学习的过程 首先肯定是要有一个可运行的node项目 编写部署文件 部署文件放置在.githu…...
高频面试题:设计秒杀系统,用Redis+Lua解决超卖
高频面试题:设计秒杀系统,用RedisLua解决超卖 **1. 问题背景****2. 解决方案:Redis Lua****为什么选择Redis Lua?****核心代码逻辑****Java调用示例(Spring Boot)** **3. 方案优势****4. 面试回答话术***…...
2、Kafka Replica机制与ISR、HW、LEO、AR、OSR详解
Kafka 作为分布式高可用消息队列,其副本(Replica)机制是实现高可靠性和数据一致性的核心。本文将系统介绍 Kafka 的 Replica 机制,并详细解释 ISR、HW、LEO、AR、OSR 等关键概念。 一、Kafka Replica机制概述 在分布式系统中&am…...
生成式 AI:从工具革命到智能体觉醒,2025 年的质变与突破
在上海胸科医院的手术室里,一束全息投影正精准勾勒出患者肺部的三维血管模型。主刀医生手持机械臂的瞬间,AI 导航系统已同步完成 200 次路径演算,将毫米级误差控制在 0.3 毫米以内 —— 这个真实发生在 2025 年的临床场景,标志着生…...
安卓基础(拖拽)
当用户长按或拖拽某个视图(如按钮、图片)时,需要提供视觉反馈(即阴影)。这行代码通常在拖拽事件的处理逻辑中,例如: view.setOnLongClickListener(v -> {// 创建拖拽阴影DragShadowBuilder …...
IoTDB磁盘I/O性能监控与优化指南
一、磁盘I/O性能观测核心指标 在现代计算机系统中,磁盘I/O性能对整体系统表现至关重要。为有效监控和优化磁盘I/O性能,需关注以下核心指标: I/O读写延迟:衡量从发起I/O请求到接收响应的时间间隔。IOPS(Input/O…...
java每日精进 5.06【框架之功能权限】
0.概述 0.1 整体架构概述 这个RBAC权限系统基于Spring Security和Token认证机制,主要包含以下核心组件: 用户-角色-菜单的多对多关系模型 基于Token的认证流程 细粒度的权限控制(菜单权限、按钮权限) 灵活的权限配置方式 1…...
静态NAT
实验需求 PC1和PC2通过静态NAT去访问服务器 实验拓扑 图13-1 静态NAT 实验步骤 步骤1:IP地址的配置 PC1的配置 PC2的配置 R1的配置 <Huawei>system-view [Huawei]undo info-center enable [Huawei]sysname R1 [R1]interface g0/0/0 [R1-GigabitEt…...
RabbitMQ-api开发
前言 MQ就是接收并转发消息 核心概念 admin是用户 每个虚拟机上都有多个交换机 快速入门 引入依赖 <dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.22.0</version></dependen…...
const MachineTree getMachineTree() ; MachineTree getMachineTree() const; 区别?
这两个函数声明在语法和语义上有明显的区别,它们的用途和行为也不同。让我们逐一分析它们的区别: 1. const MachineTree &getMachineTree(); 这个函数声明表示: 返回类型:const MachineTree &,即返回一个 M…...
使用DevTools工具调试前端页面,便捷脚本,鸿蒙调试webView
参考官方文章 便捷脚本 创建文本,复制修改后缀为bat 建立bat文件 echo off setlocal enabledelayedexpansion:: Initialize port number and PID list set PORT9222 set PID_LIST:: Get the list of all forwarded ports and PIDs for /f "tokens2,5 delims…...
浏览器存储 Cookie,Local Storage和Session Storage
什么是Cookie? 存储容量:一般限制在 4KB 以内。数据有效期:可以设置过期时间,若未设置,则在浏览器关闭时失效。数据共享:在同一域名下,不同页面可以共享cookie数据。并且在每次 HTTP 请求时&am…...
校内周赛题(思维题)
这次周赛的题目没有什么很难的代码实现,基本上都是对思路的把握。 与君共勉🌹 选取x个数,看能不能使得这x个数相加的结果是奇数。 如果x是偶数,他的分布肯定是一个奇数一个偶数若干个两两配对的奇数若干个两两配对的偶数。 如果…...
在 GitLab 中部署Python定时任务
在 GitLab 中部署定时任务(如每天早8点运行Python脚本并存储结果)可以通过 GitLab CI/CD 结合 计划任务(Scheduled Pipelines) 实现。以下是详细步骤和准备工作: 1. 准备工作 (1) 项目结构准备 确保项目包含: Python脚本(如 main.py):执行核心算法逻辑。 结果存储模…...
学习黑客Windows权限体系
已思考 24 秒 借着 Week 2 Day 4 的号角,我们把权限系统这条「双持长枪」摆上擂台:一边是 Windows DACL/icacls,另一边是 Linux sudoers。你将看到二者在授权语法、常见配置漏洞与提权打法上的一一对照——尤其关注 可写服务(Wr…...
DXFViewer进行中2 -> 直线 解析+渲染 ✅已完成
DXFViewer进行中 : ->封装OpenGL -> 解析DXF直线-CSDN博客https://blog.csdn.net/qq_25547755/article/details/147723906 上篇博文 解析dxf直线635条 1. DXFViewer.h #pragma once #include "Application.h" #include <stdio.h> #inc…...
当智能科技遇上医疗行业会帮助疫苗如何方便管理呢?
随着科技的发展,智能科技在医疗行业的应用日益广泛,在疫苗管理方面,温湿度监控设备的安装可以简化管理流程,提高监测效率,降低疫苗损坏的风险。 疫苗管理面临着诸多挑战和需求。疫苗的存储、运输、接种等环节都…...
Excel 数据 可视化 + 自动化!Excel 对比软件
各位Excel小能手们!你们有没有过要对比两个Excel表格数据差异,却看得眼睛都花了的经历?其实啊,现在有专门的Excel文件比较软件能帮咱解决这大难题。这软件就是用来快速找出两个或多个Excel表格数据不同之处,还能把修改…...
Selenium模拟人类行为,操作网页的方法(全)
看到有朋友评论问,用selenium怎么模仿人类行为,去操作网页的页面呢? 我想了想,这确实是一个很大的点,不应该是一段代码能解决的, 就像是,如果让程序模拟人类的行为。例如模拟人类买菜,做饭&am…...
LVS负载均衡群集解析:理解LVS-NAT的工作原理
目录 一、LVS群集应用基础 1.群集技术概述 2.LVS虚拟服务器 3.NFS共享存储服务 二、案例:地址转换模式(LVS-NAT) 1.资源清单 2.修改主机名 3.配置负载调度器(LVS上) 4.配置节点服务器(web1、web2) 5.测试LVS…...
Leetcode Hot 100最长连续序列
题目描述 思路 思路1 我们对数组进行排序,通过遍历数组,如果前一个数组的值1等于当前数组的值,计数count,如果中断了,计算当前最大连续长度的值ans,并且统计值count重新置为1,最后返回count与…...
【东枫科技】代理英伟达产品:交换机系统
文章目录 总体详细:NVIDIA Spectrum SN5000详细:NVIDIA Spectrum SN2100详细:NVIDIA Spectrum SN4700详细:NVIDIA Spectrum SN2010详细:NVIDIA Spectrum SN4600详细:NVIDIA Spectrum SN3700详细:…...
[前端]Javascript获取元素宽度
元素宽度属性对比示意图 ---------------------------------- | 外边距(margin) | -------------------------------- | | 边框(border) | | | -------------------------- | | | …...
MySQL + Qwen3-0.5B + Flask + Dify 工作流部署指南
1. 安装MySQL和PyMySQL 安装MySQL # 在Ubuntu/Debian上安装 sudo apt update sudo apt install mysql-server sudo mysql_secure_installation# 启动MySQL服务 sudo systemctl start mysql sudo systemctl enable mysql 安装PyMySQL pip install pymysql 使用 apt 安装 My…...
项目三 - 任务3:学生多态方式喂养宠物
在本次实战中,我们通过创建动物类及其子类(猫、狗、鸟),并设计学生类的喂养方法,深入学习了Java中的多态和方法重载。学生类通过重载方式为每种动物提供专门的喂养方法,而通过多态方式则仅用一个方法即可喂…...
TypeScript速成
1、类型推断 这里的str已经推断为string类型,不能像JavaScript一样直接给str赋值number类型 2、类型注解 let str:stringabc 或者 let str:string strabc 3、类型断言 因为typescript会判定这个item可能为undefined类型,但是我们人为可以确定item一…...
CompletableFuture的底层ForkJoinPool
什么是 ForkJoinPool?它和普通线程池(ThreadPoolExecutor)有什么区别? 答案要点: ForkJoinPool 是 Java 7 引入的线程池,专为 分治任务 设计,支持递归任务拆分(Fork)和…...
高等数学第五章---定积分(§5.1定积分的概念、性质和应用)
5.1 定积分的概念及性质 一、引例 在学习定积分之前,我们先通过两个具体的例子来感受其思想和方法。 例1 曲边梯形的面积 定义:曲边梯形 由连续曲线 y f ( x ) y f(x) yf(x)(假设 f ( x ) ≥ 0 f(x) \ge 0 f(x)≥0 在所讨论的区间上&…...
Java基础学完,继续深耕(0506)SQL--多表关系
多表关系 一对多(多对一) 一对一 多对多 一对多 场景:部门与员工的关系 (一个部门下有多个员工)。 实现:在数据库表中多的一方,添加字段,来关联一的一方的主键。 现在只是在语法上关联了,…...