LeetCode Biweekly Contest 98
这周双周赛,我觉得题目不是很好。2,3题都是脑经急转弯,最后一题也过于模版。 6359. Maximum Difference by Remapping a Digit 给你一个整数 num 。你知道 Danny Mittal 会偷偷将 0 到 9 中的一个数字 替换 成另一个数字。 请你返回将 num 中 恰好一个 数字进行替换后,得到的最大值和最小值的差位多少。 注意: 当 Danny 将一个数字 d1…
这周双周赛,我觉得题目不是很好。2,3题都是脑经急转弯,最后一题也过于模版。 6359. Maximum Difference by Remapping a Digit 给你一个整数 num 。你知道 Danny Mittal 会偷偷将 0 到 9 中的一个数字 替换 成另一个数字。 请你返回将 num 中 恰好一个 数字进行替换后,得到的最大值和最小值的差位多少。 注意: 当 Danny 将一个数字 d1…
6354. Find the Array Concatenation Value 给你一个下标从 0 开始的整数数组 nums 。 现定义两个数字的 串联 是由这两个数值串联起来形成的新数字。 例如,15 和 49 的串联是 1549 。 nums 的 串联值 最初等于 0 。执行下述操作直到 nums 变为空: 如果 nums…
今天主要讨论的主题是Java的ReentrantLock的由来和加锁的原理。 为什么需要ReentrantLock 作为程序员,还是需要尽量减少重复造轮子这种事情。但是Java既然已经有了synchronized关键词,Java的大佬们再设计Lock是不是一种重复的轮子呢?当然不是,synchronized有一个问题,我们无法主动释放资源。如下所示: sychronize (a) { sychronize (b) { //.. method body } } 假设我们获取了资源a,但是无法获取资源b。此时我们也无法释放资源a。那么整个系统可能就会处在死锁状态。为了解决这个问题,就需要新的轮子来解决。那就是今天想要介绍的主角ReentrantLock。 使用lock的范式 在这个类的一开始作者就贴心的写上了Java并发所需要用到的范式。因为这些代码在多线程中执行,为了确保就算程序出错抛出了异常,所以finally中务必不要忘记加入解锁的相关代码,否则容易造成不知名的死锁情况。 class X { private final ReentrantLock lock = new ReentrantLock(); //.. public void…
首先祝大家元宵节快乐! 6348. Take Gifts From the Richest Pile 给你一个整数数组 gifts ,表示各堆礼物的数量。每一秒,你需要执行以下操作: 选择礼物数量最多的那一堆。 如果不止一堆都符合礼物数量最多,从中选择任一堆即可。 选中的那一堆留下平方根数量的礼物(向下取整),取走其他的礼物。 返回在 k 秒后剩下的礼物数量。 测试样例 输入:gifts = , k = 4 输出:29 解释: 按下述方式取走礼物: 在第一秒,选中最后一堆,剩下 10 个礼物。…
6303. Separate the Digits in an Array 给你一个正整数数组 nums ,请你返回一个数组 answer ,你需要将 nums 中每个整数进行数位分割后,按照 nums 中出现的 相同顺序 放入答案数组中。 对一个整数进行数位分割,指的是将整数各个数位按原本出现的顺序排列成数组。 比方说,整数 10921 ,分割它的各个数位得到 。 测试样例 输入:nums = 输出: 解释: 分割 13…
6337. Count Distinct Numbers on Board 给你一个正整数 n ,开始时,它放在桌面上。在 109 天内,每天都要执行下述步骤: 对于出现在桌面上的每个数字 x ,找出符合 1 <= i <= n 且满足 x % i == 1 的所有数字 i 。 然后,将这些数字放在桌面上。 返回在…
这篇主要会log一下最近碰到的问题,关于初始搭建大家可以看WordPress + Nginx + PHP-FPM在AWS LightSail上的搭建 网站报错 这个网站是我搭建的自己玩耍的博客,我时不时会登陆一下网站看看运行情况。某一次登录的时候发现了报错: Error establishing a database connection 这个报错很明显是数据库挂了,所以马上登陆服务器查看MariaDB的日志: Version: '5.5.68-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server 230101 12:21:10 mysqld_safe Number of processes running now:…
首先祝大家兔年快乐!今年工作一切顺利 6296. Alternating Digit Sum 给你一个正整数 n 。n 中的每一位数字都会按下述规则分配一个符号: 最高有效位 上的数字分配到 正 号。 剩余每位上数字的符号都与其相邻数字相反。 返回所有数字及其对应符号的和。 测试样例 输入:n = 521 输出:4 解释: (+5) + (-2) + (+1) = 4 解答:按照题意编码计算即可 class…
首先祝大家兔年快乐! 6300. Minimum Common Value 给你两个整数数组 nums1 和 nums2 ,它们已经按非降序排序,请你返回两个数组的 最小公共整数 。如果两个数组 nums1 和 nums2 没有公共整数,请你返回 -1 。 如果一个整数在两个数组中都 至少出现一次 ,那么这个整数是数组 nums1 和 nums2 公共 的。 测试样例 输入:nums1 = ,…
6291. Difference Between Element Sum and Digit Sum of an Array 给你一个正整数数组 nums 。 元素和 是 nums 中的所有元素相加求和。 数字和 是 nums 中每一个元素的每一数位(重复数位需多次求和)相加求和。 返回 元素和 与 数字和 的绝对差。 注意:两个整数 x 和…