题目:55.跳跃游戏思路:贪心,维护可达的最远距离last。时间复杂度0(n)。C++版本:classSolution{public:boolcanJump(vector&nums){intlast=0;for(inti=0;i
Educational Codeforces Round 180 (Rated for Div. 2) A-D题解
AKDreamer_HeXY
Codeforces题解CodeforcesC++STL算法图论
A.Race题意在一个数轴上,奖品可能出现在xxx点或yyy点,Alice现在在aaa点,请问Bob是否存在一个点bbb,使得无论奖品出现在xxx点还是yyy点,Bob都能比Alice先拿到(∣b−x∣yx>yx>y就交换一下)。如果aya>ya>y,Bob一定可以选择aaa左边的那个点作为点bbb,显然也满足∣b−x∣∣a−x∣|b-x|>|a-x|∣b−x∣>∣a−x∣和∣b−y∣>∣a−y∣
详解Redis缓存击穿、缓存穿透、缓存雪崩
码上库利南
redis缓存redis数据库
一、缓存穿透(CachePenetration)1.1问题描述定义:查询数据库中根本不存在的数据,导致请求每次都绕过缓存直接访问数据库。特点:恶意攻击常见手段(如请求id=-1或随机乱码)。缓存和数据库均无数据,导致无效查询压垮数据库。1.2原因恶意攻击、业务逻辑漏洞(如参数校验缺失)。1.3解决方案缓存空对象(NullCaching)对数据库查询结果为null的Key,缓存一个空值(如"NULL
使用Docker+ollama部署大模型
平平无奇哈斯特
docker容器llama大模型ollama
Docker的安装----在Ubuntu系统上安装Docker一:配置系统的APT软件包管理器首先添加Docker的官方GPG密钥#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlgnupgsudoinstall-m0755-d/etc/apt/keyringscurl-fsSLhttp
响应式API和非响应式API
响应式API与非响应式API的核心区别在于数据流处理方式、触发机制、资源利用率以及适用场景。以下是具体对比分析:一、数据流与处理模式响应式API异步与事件驱动:数据流通过事件触发自动处理,无需手动干预。例如,当数据源(如股票价格)更新时,系统立即推送变化并触发相应的界面更新[1][8]。流式处理:支持按需分块处理数据,避免一次性加载大量数据到内存。例如,SpringWebFlux的Flux可以每秒
华为园区网经典三层架构配置模板(含汇聚、核心)
网络工程师俱乐部
网络网络工程师华为认证
号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部这一篇直接上华为园区网的经典三层架构配置模板,重点覆盖:核心层(双核心VRRP)汇聚层(VLAN汇聚+上联三层)接入层简要说明每层配置关键点,按模块分块直给,拎出来就能用适合小中型企业园区网部署场景,拿去直接能拉实验。场景说明&拓扑结构典型企业园区网三层架构:接入层只做VLAN接入,不三层,不配置网关汇聚层做VLAN
CUDA out of memory内存碎片解决方法
weixin_42319617
深度学习
RuntimeError:CUDAoutofmemory.Triedtoallocate704.00MiB(GPU0;16.00GiBtotalcapacity;13.55GiBalreadyallocated;0bytesfree;14.89GiBreservedintotalbyPyTorch)Ifreservedmemoryis>>allocatedmemorytrysettingmax_s
题236. 二叉树的最近公共祖先
漠宸离若
#LeetCodeleetcode算法数据结构二叉树java
给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root=[3,5,1,6,2,0,8,null,null,7,4]示例1:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=
使用 Google Cloud El Carro 和 Langchain 存储聊天消息历史
lirxx
langchain
在现代应用开发中,管理和扩展数据库能力以支持AI功能是一个重要的需求。GoogleCloud的ElCarro提供了一种运行Oracle数据库的方式,它结合了Kubernetes的强大特性,并通过Langchain集成扩展了数据库的能力。本指南将介绍如何使用ElCarro的Langchain集成来存储聊天消息历史。技术背景介绍ElCarro是一个开源、注重社区驱动的项目,允许在Kubernetes上
Educational Codeforces Round 31 C.Bertown Subway(图论)
ganzibang
ACM-图论图论
题目链接:BertownSubway题意:简单地说,就是给一个n个地铁站的线路图,每个地铁站i有一趟地铁从i站出发,到达目的站pi,pi可以等于i且满足条件:对于每个i站,只存在一个j站使得pj=i。定义有序对pair(a,b)表示从a站到b站,现在给你一个机会在满足条件下可以改变不超过两个地铁站的pi,使得(a,b)的个数最多,问最多个数是多少?题解:题目先输入一个n,在输入pi,而且每个pi是
C. Two Colors-Educational Codeforces Round 176 (Rated for Div. 2)
9527过了头
codeforces刷题算法c++数据结构
Monocarphasinstalledanewfenceathissummerhouse.Thefenceconsistsofnplanksofthesamesizearrangedinarow.Monocarpdecidedthathewouldpainthisfenceaccordingtothefollowingrules:eachplankofthefencewillbepaintedi
codeforces 884C. Bertown Subway
C.BertownSubwaytimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputTheconstructionofsubwayinBertownisalmostfinished!ThePresidentofBerlandwillvisitthiscitysoontol
基础RAG实现,最佳入门选择(四)
人工智能
RAG中的上下文丰富检索,检索增强生成(RAG)通过从外部来源检索相关知识来增强AI响应。传统的检索方法返回孤立的文本块,这可能导致答案不完整。为了解决这个问题,引入了上下文丰富检索,它确保检索到的信息包括相邻的块以获得更好的一致性。-数据摄取:从PDF中提取文本。-带有重叠上下文的分块:将文本拆分为重叠的块以保留上下文。-嵌入创建:将文本块转换为数字表示。-上下文感知检索:检索相关块及其邻居以获
Chonkie:一个极速且轻量级文本分块的革命者,解锁 RAG 分块多种策略
程序员笑武
prompt语言模型人工智能开源知识图谱
Chonkie是为RAG任务设计的轻量级文本分块库,以快速性能和易于使用著称,旨在解决传统文本分块库的效率和体积问题。核心特点包括多种分块器、9.7MB的轻量级安装、以及优化的分块速度。通过Tiktoken、预计算缓存等技术实现高效分块,性能远超竞争对手。本文详细介绍了Chonkie文档分割库的功能、安装方法、代码示例、设计理念、常见问题解答,助力RAG提升性能。简介Chonkie是一个用于RAG
redis相关面试题
钟琛......
redis数据库缓存java
1.缓存穿透(CachePenetration)问题描述:查询一个数据库中根本不存在的数据。由于缓存中不会有该数据(未命中),导致每次请求都直接访问数据库,给数据库造成巨大压力,甚至压垮数据库。原因:恶意攻击:攻击者故意构造大量不存在的ID进行查询。业务逻辑错误:程序BUG导致产生大量无效请求。解决方案:缓存空对象(NullCaching/BloomFilterPre-caching):即使数据库
Android录制视频自带铺满多行水印
宝杰X7
Androidandroid音视频
文章目录引言环境要求代码实现总结引言 之前做过几种水印需求,这篇文章是关于使用Android原生库开发录制视频自带满帧文字水印。环境要求Android7.0以上AndroidStudio,官方开发者官网视频录制功能参考开源库PictureSelector的camerax库//用到的Google集成摄像头库constvalcamerax="1.4.2"constvalappcompat="1.2.0
无人机数据处理系统设计与难点
云卓SKYDROID
无人机高科技人工智能科普云卓科技
一、系统设计要点1.数据采集层多源传感器集成支持RGB相机、多光谱/高光谱相机、LiDAR、热成像仪、RTK/PPK定位模块等。自适应采集策略动态调整飞行高度、航速、重叠率,适应地形与任务需求。元数据绑定时间戳、GPS位置、IMU姿态角、传感器参数同步存储。2.数据传输与存储边缘端预处理实时压缩:使用H.265或JPEG2000降低传输带宽。数据分块:将大文件拆分为时空分块。混合存储架构plain
【补题】Educational Codeforces Round 107 (Rated for Div. 2) D. Min Cost String
2401_87294509
算法
题意:要求你给出一个长度为n的字符串,其中只能出现小写字母的前k个字符。要求s[i]==s[j],s[i+1]==s[j+1]出现的次数最少。思路:D.MinCostString(贪心+构造)-CSDN博客因为没有距离贡献之类的,所以让两个连着字符的字符出现最少就可以了。但是光考虑aaabba这种不行,因为你构造出来的字符串可能无意中出现了相同。直接思考最好的字符串其实就是aabacadbbcbd
【补题】Codeforces Round 715 (Div. 2) C. The Sports Festival
2401_87294509
算法
题意:给你一个序列,你可以对它重新排序,然后使每个i,max(a0,a1……ai)-min(a0,a1……ai)最小。问答案是多少思路:C.TheSportsFestival(区间DP)-CSDN博客区间dp,完全没想到。首先有两个观察点很简单1.一个已经选择好的序列,添加进来的数,如果是最小,或者最大会更新状态,否则不。2.在添加的过程中,添加进来的数改变两个最值的时候越延迟,次数越多越好。13
前端vue js 使用插件 spark-md5 计算文件MD5值并封装成Promise异步调用方法
低级前端
Vue学习Vue3学习+实战uniappjavascript前端vue.jsspark开发语言
1.依赖:需要安装spark-md5npminstall--savespark-md52.代码分析1.功能:该函数接收一个File对象,将其分块(每块2MB)读取,并使用spark-md5计算整个文件的MD5哈希值。返回一个Promise,成功时解析为MD5字符串,失败时拒绝并返回错误信息。2.关键点:分块处理:通过FileReader逐块读取文件,避免一次性加载大文件导致内存问题。兼容性:处理了
基于 Spring AI + MCP + DeepSeek-R1-7B 构建企业级智能 Agent 工具调用系统
奔向理想的星辰大海
云原生spring人工智能java
项目背景与架构设计技术选型SpringAISpring官方推出的AI接入框架,支持LangChain、MCP、RAG等能力;MCP(ModelContextProtocol)模型与工具之间通信的协议桥梁;DeepSeek-R1-7B国产高性能开源大模型,已支持ChatCompletion、ToolCalling接口;Ragflow用作RAG架构引擎(可选);系统功能用户向模型提问模型判断是否调用工
OPENPPP2 内置 SIMD-AES-128-CFB 算法实现分析及优化路线
liulilittle
MarkdownExtensionC/C++算法网络协议AES安全密码学网络通信
引用源:OPENPPP2/simd_aes_128_cfb.cpp核心组件结构图AES-128-CFB加密系统密钥扩展CFB加密CFB解密加载初始密钥10轮密钥扩展使用aeskeygenassist字节移位与异或初始化反馈寄存器处理完整块处理部分块初始化反馈寄存器处理完整块处理部分块块加密块加密AES加密核心初始轮密钥加9轮AESENC最终轮AESENCLAST详细流程分析一、密钥扩展流程(aes
为 AI 编写文档:最佳实践
llm知识管理写作
Bruce:LLM时代要为AI阅读改变写作习惯。将图片/复杂排版文档转化为LLM可读格式(如Markdown)AI友好写作原则(为AI写作)1.内容清晰、结构化、显式表达2.每段内容应自包含、易分块理解3.使用统一术语,增强语义匹配4.图表信息应有文字说明5.使用语义HTML/Markdown,避免PDF、复杂UI6.内容层级清晰,上下文明确7.明确前提与步骤,不假设读者已知8.记录具体错误信息,
(补打卡)代码随想录算法训练营day20| 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点
kuki<__>
算法c语言
文档链接(按序):代码随想录代码随想录代码随想录视频链接(按序):二叉搜索树找祖先就有点不一样了!|235.二叉搜索树的最近公共祖先_哔哩哔哩_bilibili原来这么简单?|LeetCode:701.二叉搜索树中的插入操作_哔哩哔哩_bilibili调整二叉树的结构最难!|LeetCode:450.删除二叉搜索树中的节点_哔哩哔哩_bilibili终于补完了,嘿嘿。卡哥的讲解是真细致啊。
rust的指针作为函数返回值是直接传递,还是先销毁后创建?
wudixiaotie
返回值
这是我自己想到的问题,结果去知呼提问,还没等别人回答, 我自己就想到方法实验了。。
fn main() {
let mut a = 34;
println!("a's addr:{:p}", &a);
let p = &mut a;
println!("p's addr:{:p}", &a
java编程思想 -- 数据的初始化
百合不是茶
java数据的初始化
1.使用构造器确保数据初始化
/*
*在ReckInitDemo类中创建Reck的对象
*/
public class ReckInitDemo {
public static void main(String[] args) {
//创建Reck对象
new Reck();
}
}
[航天与宇宙]为什么发射和回收航天器有档期
comsci
地球的大气层中有一个时空屏蔽层,这个层次会不定时的出现,如果该时空屏蔽层出现,那么将导致外层空间进入的任何物体被摧毁,而从地面发射到太空的飞船也将被摧毁...
所以,航天发射和飞船回收都需要等待这个时空屏蔽层消失之后,再进行
&
linux下批量替换文件内容
商人shang
linux替换
1、网络上现成的资料
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的www.admi
网页在线天气预报
oloz
天气预报
网页在线调用天气预报
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit
SpringMVC和Struts2比较
杨白白
springMVC
1. 入口
spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
参见:http://blog.csdn.net/zs15932616453/article/details/8832343
2
refuse copy, lazy girl!
小桔子
copy
妹妹坐船头啊啊啊啊!都打算一点点琢磨呢。文字编辑也写了基本功能了。。今天查资料,结果查到了人家写得完完整整的。我清楚的认识到:
1.那是我自己觉得写不出的高度
2.如果直接拿来用,很快就能解决问题
3.然后就是抄咩~~
4.肿么可以这样子,都不想写了今儿个,留着作参考吧!拒绝大抄特抄,慢慢一点点写!
apache与php整合
aichenglong
php apache web
一 apache web服务器
1 apeche web服务器的安装
1)下载Apache web服务器
2)配置域名(如果需要使用要在DNS上注册)
3)测试安装访问http://localhost/验证是否安装成功
2 apache管理
1)service.msc进行图形化管理
2)命令管理,配
Maven常用内置变量
AILIKES
maven
Built-in properties
${basedir} represents the directory containing pom.xml
${version} equivalent to ${project.version} (deprecated: ${pom.version})
Pom/Project properties
Al
java的类和对象
百合不是茶
JAVA面向对象 类 对象
java中的类:
java是面向对象的语言,解决问题的核心就是将问题看成是一个类,使用类来解决
java使用 class 类名 来创建类 ,在Java中类名要求和构造方法,Java的文件名是一样的
创建一个A类:
class A{
}
java中的类:将某两个事物有联系的属性包装在一个类中,再通
JS控制页面输入框为只读
bijian1013
JavaScript
在WEB应用开发当中,增、删除、改、查功能必不可少,为了减少以后维护的工作量,我们一般都只做一份页面,通过传入的参数控制其是新增、修改或者查看。而修改时需将待修改的信息从后台取到并显示出来,实际上就是查看的过程,唯一的区别是修改时,页面上所有的信息能修改,而查看页面上的信息不能修改。因此完全可以将其合并,但通过前端JS将查看页面的所有信息控制为只读,在信息量非常大时,就比较麻烦。
AngularJS与服务器交互
bijian1013
JavaScriptAngularJS$http
对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用、发起请求、读取响应、检查状态码,最后处理服务端的响应。整个过程示例如下:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange
[Maven学习笔记八]Maven常用插件应用
bit1129
maven
常用插件及其用法位于:http://maven.apache.org/plugins/
1. Jetty server plugin
2. Dependency copy plugin
3. Surefire Test plugin
4. Uber jar plugin
1. Jetty Pl
【Hive六】Hive用户自定义函数(UDF)
bit1129
自定义函数
1. 什么是Hive UDF
Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:
文件格式:Text File,Sequence File
内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text
用户提供的 map/reduce 脚本:不管什么
杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
ronin47
nginx 重启 pid丢失
nginx进程被意外关闭,使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法:nginx -s reload 只是用来告诉运行中的ng
UI设计中我们为什么需要设计动效
brotherlamp
UIui教程ui视频ui资料ui自学
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。
但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用你的产品。
Spring中JdbcDaoSupport的DataSource注入问题
bylijinnan
javaspring
参考以下两篇文章:
http://www.mkyong.com/spring/spring-jdbctemplate-jdbcdaosupport-examples/
http://stackoverflow.com/questions/4762229/spring-ldap-invoking-setter-methods-in-beans-configuration
Sprin
数据库连接池的工作原理
chicony
数据库连接池
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查 询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对
java 关键字
CrazyMizzz
java
关键字是事先定义的,有特别意义的标识符,有时又叫保留字。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。
Java中的关键字按功能主要可以分为以下几类:
(1)访问修饰符
public,private,protected
p
Hive中的排序语法
daizj
排序hiveorder byDISTRIBUTE BYsort by
Hive中的排序语法 2014.06.22 ORDER BY
hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。
与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。
单态设计模式
dcj3sjt126com
设计模式
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。
<?phpclass Example{ // 保存类实例在此属性中 private static&
svn locked
dcj3sjt126com
Lock
post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy 'D:\xx\xxx' locked
svn: E200031: sqlite: attempt to write a readonly database
svn: E200031: sqlite: attempt to write a
ARM寄存器学习
e200702084
数据结构C++cC#F#
无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。
ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。
1、不分组寄存器(R0-R7)
不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是
常用编码资料
gengzg
编码
List<UserInfo> list=GetUserS.GetUserList(11);
String json=JSON.toJSONString(list);
HashMap<Object,Object> hs=new HashMap<Object, Object>();
for(int i=0;i<10;i++)
{
进程 vs. 线程
hongtoushizi
线程linux进程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。
首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。
如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。
如果用多线程实现
Linux定时Job:crontab -e 与 /etc/crontab 的区别
Josh_Persistence
linuxcrontab
一、linux中的crotab中的指定的时间只有5个部分:* * * * *
分别表示:分钟,小时,日,月,星期,具体说来:
第一段 代表分钟 0—59
第二段 代表小时 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期几,0代表星期日 0—6
如:
*/1 * * * * 每分钟执行一次。
*
KMP算法详解
hm4123660
数据结构C++算法字符串KMP
字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。
假设主串s="ababcabcacbab",模式串为t="
枚举类型的单例模式
zhb8015
单例模式
E.编写一个包含单个元素的枚举类型[极推荐]。代码如下:
public enum MaYun {himself; //定义一个枚举的元素,就代表MaYun的一个实例private String anotherField;MaYun() {//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候:/** himself = MaYun() {*
Kafka+Storm+HDFS
ssydxa219
storm
cd /myhome/usr/stormbin/storm nimbus &bin/storm supervisor &bin/storm ui &Kafka+Storm+HDFS整合实践kafka_2.9.2-0.8.1.1.tgzapache-storm-0.9.2-incubating.tar.gzKafka安装配置我们使用3台机器搭建Kafk
Java获取本地服务器的IP
中华好儿孙
javaWeb获取服务器ip地址
System.out.println("getRequestURL:"+request.getRequestURL());
System.out.println("getLocalAddr:"+request.getLocalAddr());
System.out.println("getLocalPort:&quo