后端

LeetCode-392-判断子序列

判断子序列 题目描述:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情

算法记录 | Day01(数组01)

二分查找 移除元素 704题:二分查找 【思路】 有序数组按升序排序,如何找到目标值? 时间复杂度 O(logN),主要通过取中间点来节省遍历的次数,重点在于边界值的判断,找到合适的那一半数据空间。 class Solution { public int search(int[] nums, int target) { // 条件里已为升序,不再单独排序

学 Java 就用简单的框架,Solon v1.10.6 发布

Java 轻量级应用开发框架。可用来快速开发 Java 应用项目。主框架仅 0.1 MB。Helloworld: @Controller public class App { public static void main(String[] args) { Solon.start(App.class, args); } @Get @WebSocke

07《算法入门教程》递归算法

1. 前言 本节内容是递归算法系列之一:递归的介绍,主要介绍了递归的定义,选择了数学归纳法这一数学模型帮助大家可以更好的理解递归的概念,然后明确了一个递归算法必须要具备的三要素,最后说明了一下哪些问题适合应用递归算法求解分析。 2. 什么是递归? 递归(Recursion),是计算机科学与技术领域中一种常见的算法思想。 在数学和计算机领域中,递归主要是指在函数的定义中使用函数自身的方法。顾名思义,

CountDownLatch

CountDownLatch是基于AQS的阻塞工具,阻塞一个或者多个线程,直到所有的线程都执行完成。 image.png CountDownLatch解决了什么问题 当一个任务运算量比较大的时候,需要拆分为各种子任务,必须要所有子任务完成后才能汇总为总任务。 使用并发模拟的时候可以使用CountDownLatch.也可以设置超时等待时间, CountDownLatch 用法 packa

430.【爬虫】单独给浏览器设置代理

我们一般在通过代理采集数据时,会在电脑端设置全局代理,如下所示: 设置代理前 这个方法会导致所有流量都经过 8080 代理端口。现在我想用 mitmproxy 采集一个网站的数据,是不希望所有流量都走 mitmproxy 的。这里推荐一个谷歌浏览器的插件来解决这个问题(下载地址在文末)。 一、新建场景 这里的意思是:该场景中,流量都经过代理服务器:127.0.0.1

JS引擎V8

JS引擎可以将JS代码编译为不同CPU(Intel、ARM以及MIPS等)对应的汇编代码 v8核心模块 Parser 负责将JavaScript源码转换成AST(Abstract Syntax Tree) Ignition —> Interpreter 负责将AST转换成ByteCode,解释执行ByteCode 为什么要使用字节码?不直接转成机器码执行? 机器码所占内

Leetcode 3. 无重复字符的最长子串

题目要求 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew" 输出: 3

Pinnacle 21:生成Define.xml与验证数据

欢迎关注,SAS茶谈! 之前文章Pinnacle 21简介简单捋了下Pinnacle 21公司的的发展,该公司有两款产品,Pinnalce 21 Community 和Pinnalce 21 Enterprise,前者是免费开源版,后者是付费商用版。不管是哪个版本,我们工作中使用的功能主要有2个: 生成Define.xml文件 验证数据(Validation) Enterprise版本

RedisTemplate批量操作

RedisTemplate批量添加操作教程,利用pipeline批量操作;multiSet()批量操作;for循环批量操作 一、使用pipeline的好处 了解redis的小伙伴都知道,redis是一个高性能的单线程的key-value数据库。它的执行过程为: (1)发送命令-〉(2)命令排队-〉(3)命令执行-〉(4)返回结果 如果我们使用redis进行批量插入数据,正常情况下相当于将以上四个步