后端

剑指offer(第2版)

4/75 03.找出数组中重复的数字 03 try1: 遍历 超时 class Solution: def findRepeatNumber(self, nums: List[int]) -> int: for i in range(len(nums)-1): for j in range(i+1,len(nums)): # 第一

刷题小记

今天在刷牛客网华为机试的题目。 有个素数伴侣的算法,就是在给定一组数字中,例如2,3,5,6,11,13,找出能够配对最多的素数对数(素数:不能被除了1和本身之外的数整除)。比如2+3就是一个素数,这俩就是一对素数伴侣,剩下四个数以此类推找出最大配对数。 题目很好懂,如果给一个例子自己算也很好算,但就是自己的计算也没有规律可言,都是肉眼找。 思来想去找不到计算规律,查看题解才知道,原来有一个匈牙利

LeetCode75刷题记录

Level1 4/15 day1 2022-07-23 1.1480 一维数组的动态和,求一维数组各个位置的累加和 自己的解法: 每次 这其实是动态规划的思想,但我并没有意识到; class Solution: def runningSum(self, nums: List[int]) -> List[int]: result = [nums[0]]

904. 水果成篮(难度:中等)

题目链接: 题目描述: 探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果: 你只有 两个 篮子,并且每个篮子只能装

面试官:生成订单30分钟未支付,则自动取消,该怎么实现?

了解需求 方案 1:数据库轮询 方案 2:JDK 的延迟队列 方案 3:时间轮算法 方案 4:redis 缓存 方案 5:使用消息队列 了解需求 在开发中,往往会遇到一些关于延时任务的需求。 例如 生成订单 30 分钟未支付,则自动取消 生成订单 60 秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在

SQL注入专题(三)

一、WAF及绕过WAF原理介绍 WAF的定义: waf,即web应用防火墙,是通过执行一系列针对http/https的安全策略来专门位web应用提供保护的一款产品。 waf主要是通过内置的很多安全规则来进行放域,会对每个请求的内容根据安全规则进行检测并对不符合安全规则的做出响应的防御处理,从未保证web应用的安全性和合法性。 WAF是如何工作的? 规则库:使用一组规则来区分正常的请求和恶意的请求。

AQS探究

总所周知,java concurrent包的工具类是构建在AbstractQueuedSynchronizer类上的基础上的,而这个类是Doug Lea大神基于CHL队列实现的同步器。这个强大的同步器是怎样实现的呢?我们来一探究竟。 因为AQS的代码比较难以理解,我们从concurrent包下的并发工具类着手开始研究。从最简单的CountDownLatch开始,首先看它的源码 public

IO、NIO、BIO傻傻分不清吗,让我对象告诉你~~

1、Stream 与 Channel stream 不会自动缓冲数据,channel 会利用系统提供的发送缓冲区、接收缓冲区(更为底层) stream 仅支持阻塞 API,channel 同时支持阻塞、非阻塞 API,网络 channel 可配合 selector 实现多路复用 二者均为全双工,即读写可以同时进行 虽然 Stream 是单向流动的,但是它也是全双工的 2、IO 模型 同步:线

【MySQL】数据类型和表的操作

目录一. 常用的数据类型1.数值类型1.1 整形类型 1.2 浮点型类型2.字符串类型char和varchar的区别如何选择char和varchar3.日期类型4.二进制类型二. 表的操作1.查看所有表2.表的创建3.查看表的结构4.表的修改4.1 添加新的列 4.2 修改表中现有的列 4.3 删除表中现有的列4.4 重命名表中现有的列 4.5 重命名当前表5.表的删除一. 常用的数据类型在我们日

Spring AI开发MCP Server和MCP Client

本文介绍基于Spring AI如何实现MCP开发和调用。首先自定义了两个MCP Server,其中:一个是算术计算器MCP Server,并通过sdtio传输协议发布,另一个是天气预报MCP Server,通过sse传输协议发布。然后实现一个MCP Client,并调用阿里云qwen大模型完成整个 MCP 调用流程