摘要: 题⽬描述 假设你有⼀个数组 prices ,⻓度为 n ,其中 prices[i] 是股票在第 i 天的价格,请根据这个价格数组,返回买卖股票能获得的最⼤收益 你可以买⼊⼀次股票和卖出⼀次股票,并⾮每天都可以买⼊或卖出⼀次,总共只能买⼊和卖出⼀次,且买⼊必须在卖出的前⾯的某⼀天 如果不能获取到任何利 阅读全文
posted @ 2026-02-11 09:00 程序员Seven 阅读(0) 评论(0) 推荐(0)
摘要: 题目描述 把 n 个骰⼦扔在地上,所有骰⼦朝上⼀⾯的点数之和为 s 。输⼊ n ,打印出 s 的所有可能的值出现的概率。 你需要⽤⼀个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰⼦所能掷出的点数集合中第 i ⼩的那个的概率。 示例1: 输⼊: 1 输出: [0.16667,0.16667, 阅读全文
posted @ 2026-02-10 09:00 程序员Seven 阅读(7) 评论(0) 推荐(0)
摘要: 概述 AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )来表示同步状态 和一个先进先出( FIFO )的线程等待队列来完成资源获取的排队工作,通过CAS完成对State值的修改。 AQS 阅读全文
posted @ 2026-02-09 09:00 程序员Seven 阅读(94) 评论(0) 推荐(0)
摘要: 介绍 Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间 阅读全文
posted @ 2026-02-06 09:00 程序员Seven 阅读(141) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊⼀个⻓度为n 的整型数组array ,数组中的⼀个或连续多个整数组成⼀个⼦数组,找到⼀个具有 最⼤和的连续⼦数组。 ⼦数组是连续的,⽐如[1,3,5,7,9] 的⼦数组有[1,3] , [3,5,7] 等等,但是[1,3,7] 不是⼦数组 如果存在多个最⼤和的连续⼦数组,那么返回其中⻓ 阅读全文
posted @ 2026-02-05 09:00 程序员Seven 阅读(15) 评论(0) 推荐(0)
摘要: 题⽬描述 在⼀个m × n的棋盘的每⼀格都放有⼀个礼物,每个礼物都有⼀定的价值(价值⼤于 0)。你可以从棋盘的左上⻆开始拿格⼦⾥的礼物,并每次向右或者向下移动⼀格、直到到达棋盘的右下⻆。给定⼀个棋盘及其上⾯的礼物的价值,请计算你最多能拿到多少价值的礼物? 如输⼊这样的⼀个⼆维数组, [ [1,3,1 阅读全文
posted @ 2026-02-04 09:00 程序员Seven 阅读(18) 评论(1) 推荐(0)
摘要: 题⽬描述 给你⼀根⻓度为 n 的绳⼦,请把绳⼦剪成整数⻓的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳⼦的⻓度记为 k[1] ,..., k[m] 。请问 k[1] * k[2] * ... * k[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是 阅读全文
posted @ 2026-02-03 09:00 程序员Seven 阅读(20) 评论(0) 推荐(0)
摘要: 线程停止 stop方法 stop 方法虽然可以停止线程,但它已经是不建议使用的废弃方法了,这一点可以通过 Thread 类中的源码发现,stop 源码如下: stop 方法是被 @Deprecated 修饰的不建议使用的过期方法,并且在注释的第一句话就说明了 stop 方法为非安全的方法。 原因在于 阅读全文
posted @ 2026-02-02 09:00 程序员Seven 阅读(436) 评论(0) 推荐(1)
摘要: BlockingQueue和BlockingDeque BlockingQueue BlockingQueue 通常用于一个线程生产对象,而另外一个线程消费这些对象的场景。下图是对这个原理的阐述: 一个线程往里边放,另外一个线程从里边取的一个 BlockingQueue。 一个线程将会持续生产新对象 阅读全文
posted @ 2026-01-30 09:00 程序员Seven 阅读(29) 评论(0) 推荐(0)
摘要: 题⽬描述 有⼀种将字⺟编码成数字的⽅式:'a'->1, 'b->2', ... , 'z->26'。 现在给⼀串数字,返回有多少种可能的译码结果 示例1 输⼊:"12" 返回值:2 说明:2种可能的译码结果(”ab” 或”l”) 示例2 输⼊:"31717126241541717" 返回值:192 阅读全文
posted @ 2026-01-29 09:00 程序员Seven 阅读(31) 评论(0) 推荐(0)
摘要: 题⽬描述 数字以 0123456789101112131415... 的格式作为⼀个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输出第 n 位对应的数字。 示例1 输⼊:0 返回值:0 示例2 输⼊:2 返回值:2 示例 阅读全文
posted @ 2026-01-28 09:00 程序员Seven 阅读(19) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊⼀个⻓度为 n 整数数组,数组⾥⾯可能含有相同的元素,实现⼀个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前⾯部分,所有的偶数位于数组的后⾯部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。 数据范围:0 ≤ n ≤ 50000,数 阅读全文
posted @ 2026-01-27 09:00 程序员Seven 阅读(20) 评论(0) 推荐(0)
摘要: 前言 Vector无论是add方法还是get方法都加上了synchronized修饰,当多线程读写List必须排队执行,很显然这样效率比较是低下的,CopyOnWriteArrayList是读写分离的,好处是提高线程访问效率。 CopyOnWrite容器即写时复制的容器。通俗的理解是当往一个容器添加 阅读全文
posted @ 2026-01-26 09:00 程序员Seven 阅读(37) 评论(0) 推荐(0)
摘要: 为什么不推荐使用Stack Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque 为什么不推荐使用 性能低:是因为 Stack 继承自 Vector, 而 Vector 在每个方法中都加了锁。由于需要兼容老的项目,很难在原有的基础上进行优化,因此 Vector 就被淘汰掉了,使用 阅读全文
posted @ 2026-01-23 09:00 程序员Seven 阅读(30) 评论(0) 推荐(0)
摘要: 题目描述 给你⼀根⻓度为n 的绳⼦,请把绳⼦剪成整数⻓的m 段( m 、n 都是整数, n>1 并 且m>1 , m<=n ),每段绳⼦的⻓度记为k[1],...,k[m]。请问k[1]x...xk[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是8 时,我们把它剪成⻓度分别为2 、3 、3 的三段 阅读全文
posted @ 2026-01-22 09:00 程序员Seven 阅读(23) 评论(0) 推荐(0)
摘要: 题目描述 地上有⼀个 m ⾏和 n 列的⽅格。⼀个机器⼈从坐标(0,0) 的格⼦开始移动,每⼀次只能向左,右,上,下四个⽅向移动⼀格,但是不能进⼊⾏坐标和列坐标的数位之和⼤于 k 的格⼦。 例如,当k 为 18 时,机器⼈能够进⼊⽅格(35,37) ,因为 3+5+3+7 = 18 。但是,它不能进 阅读全文
posted @ 2026-01-21 09:00 程序员Seven 阅读(15) 评论(0) 推荐(0)
摘要: 题目描述 请设计⼀个函数,⽤来判断在⼀个矩阵中是否存在⼀条包含某字符串所有字符的路径。路径可以从矩阵中的任意⼀个格⼦开始,每⼀步可以在矩阵中向左,向右,向上,向下移动⼀个格⼦。如果⼀条路径经过了矩阵中的某⼀个格⼦,则该路径不能再进⼊该格⼦。 例如矩阵: 中包含⼀条字符串 " bcced " 的路径, 阅读全文
posted @ 2026-01-20 09:00 程序员Seven 阅读(20) 评论(0) 推荐(0)
摘要: InheritableThreadLocal相比ThreadLocal多一个能力:在创建子线程Thread时,子线程Thread会自动继承父线程的InheritableThreadLocal信息到子线程中,进而实现在在子线程获取父线程的InheritableThreadLocal值的目的。 关于Th 阅读全文
posted @ 2026-01-19 09:00 程序员Seven 阅读(552) 评论(1) 推荐(0)
摘要: 介绍 优先级队列的作用是能保证每次取出的元素都是队列中权值最小(或最大)的。这里元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。 Java中PriorityQueue实现了Queue接口,不允许放入null元素;其通 阅读全文
posted @ 2026-01-16 09:00 程序员Seven 阅读(35) 评论(0) 推荐(0)
摘要: 题⽬描述 给定⼀棵⼆叉搜索树,请找出其中的第 k ⼩的 TreeNode 结点。 示例1 输⼊:{5,3,7,2,4,6,8},3 返回值:{4} 思路及解答 二叉搜索树的关键性质 二叉搜索树具有一个重要特性:中序遍历(左-根-右)BST会得到一个升序排列的节点值序列。因此,寻找第k小的节点本质上就 阅读全文
posted @ 2026-01-15 09:00 程序员Seven 阅读(24) 评论(0) 推荐(0)