后端
PHP实现数组自定义排序
需求背景:用户最优优惠券选择策略
核心思路是取到用户的可用优惠券列表,对列表排序,排序后第一个数组元素为最优优惠券。
Lua 脚本实现的 coupon接口中使用 table.sort 排序;
PHP 使用哪个函数呢?
答案是: usort() 可以实现对数组自定义排序。
usort 的排序规则:
usort($arr, function ($a, $b){
// 这里添加了 order 字段,
CountDownLatch
CountDownLatch是基于AQS的阻塞工具,阻塞一个或者多个线程,直到所有的线程都执行完成。
image.png
CountDownLatch解决了什么问题
当一个任务运算量比较大的时候,需要拆分为各种子任务,必须要所有子任务完成后才能汇总为总任务。
使用并发模拟的时候可以使用CountDownLatch.也可以设置超时等待时间,
CountDownLatch 用法
packa
LeetCode习题——x 的平方根(二分查找)
x 的平方根
力扣链接:x 的平方根
题目
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
输入:x = 4
输出:2
示例 2:
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842.
Spring源码启动过程以及拓展点
容器启动过程
第一步先调用this();构造方法,这时父类构造器会初始化容器的 beanFactory 属性,属性为DefaultListableBeanFactory,带有存储BeanDefinition 和单例 bean 的功能
新建一个注解Bean定义读取器 new AnnotatedBeanDefinitionReader(this); 这个读取器主要是初始化环境变量,以及注册 一些
AI的提示词专栏:Prompt 驱动的 SQL 生成与查询优化
AI的提示词专栏:Prompt 驱动的 SQL 生成与查询优化
本文聚焦 Prompt 技术在 SQL 领域的应用,先剖析 SQL 生成与优化的痛点,阐述 Prompt 驱动 SQL 生成的核心原理,即通过需求转化、约束注入和示例引导实现自然语言到 SQL 的精准映射。随后结合电商、金融、互联网产品等场景,提供基础型、进
双端队列之ArrayDequeue
双端队列是一个很有意思的话题。在讲并发双端队列之前,我们需要介绍一个非并发的ArrayDequeue, 让大家理解双端队列的一些原理。
ArrayDeque不是线程安全的。
ArrayDeque不可以存取null元素,因为系统根据某个位置是否为null来判断元素的存在。
当作为栈使用时,性能比Stack好;当作为队列使用时,性能比LinkedList好。
image.png
从
分治-很大的数组的第K小
如果你有收获,请为这篇文章点个赞吧!
Description
求数组的第k小,数字数量非常多。
Input
每组数据给出n m k表示有n个数,求第k小,数组的数字由以下规则得到:
ai = mi mod (109+7), i = 1, 2, ..., n
其中 1 ≤ n, m ≤ 5 × 107, 1 ≤ k ≤ n,数据保证得到的数组元素大部分互不相等。
Output
输出第k小的数
