精彩博客

leetcode刷题笔记-875. 爱吃香蕉的珂珂(java实现)

题目描述 珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。 珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。 返回她可以在 H 小时内吃掉所有香蕉的最小速度 K(K 为整数)。 示...

2021/05/09 17:09
2.2K
0
2021-05-05:一个数组中只有两种字符‘G‘和‘B‘,可以让所有的G都放在左侧,所有的B都放在右侧。或者可以让所有的G都放在右侧,所有的B都放在左侧。但是只能在相邻字符之间进行交换操作。返回至少

2021-05-05:一个数组中只有两种字符’G’和’B’,可以让所有的G都放在左侧,所有的B都放在右侧。或者可以让所有的G都放在右侧,所有的B都放在左侧。但是只能在相邻字符之间进行交换操作。返回至少需要交换几次。 福大大 答案2021-05-05: 自然智慧即可。 所有G和所有B的相对顺序不变,交换次数一定是最少的。 相邻交换,类似于冒泡排序,而冒泡排序是稳定的。 把G全部移动到左边,记录次数step1;把B全部移动到左边,记录次数...

2021/05/05 15:50
268
0
Java接口回调详解

一.产生接口回调的场景 在现实生活中,产生接口回调的场景很简单,比如我主动叫你帮我做一件事,然后你做完这件事之后会通知我,"通知我"这个动作就是接口回调的动作.接口回调重在理解思就好.再举个例子用于下面的代码演示,老师让学生做课堂练习,学生做完练习后并告诉老师. 二.什么是接口回调 在Java的层面简单的说一下接口回调:现有一个接口A,和它的实现类A1,和另外一个有接口A引用的类B,因为类B中有接口A的引用,在B执行完方法后,...

2021/05/03 12:22
216
0
教你看懂System.out::println

在不经意间, 我们会看到这样的代码 // 创建出一个数组 List<String> strList = Arrays.asList("YangHang", "AnXiaoHei", "LiuPengFei"); strList.forEach(System.out::println); 第一印象, 哇, 好高大上的写法, 那么这究竟是怎样的一种语法呢。 我们一步一步来探究: 首先, 我们看一下是java.lang.Iterable<T>下的一个默认方法forEach调用的, 好家伙, 一看到这个function包下面的被@Function...

2021/05/03 12:18
100
0
接口的几种实现方式

1.通过一个类的继承实现 定义一个人类实现标准。 package aaa; //包 interface IPerson{ //接口标准 public abstract String eat(); //接口方法 public abstract String think(); //接口方法 } class Student implements IPerson{ //子接口实现 @Override //注解:准确覆写   public String eat() { //覆写方法 return "会吃"; } @Override public String think() {   return "会思考";   }   } public c...

2021/05/02 14:08
142
0
leetcode刷题笔记-225. 用队列实现栈(java实现)

题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。 注意: 你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。 你...

2021/04/30 17:24
2.1K
0
leetcode刷题笔记-232. 用栈实现队列(java实现)

题目描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明: 你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法...

2021/04/27 18:29
2K
0
leetcode刷题笔记-239. 滑动窗口最大值(java实现)

题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3 6 7 5 1 3 -1 [-3 5 3] 6 7 5 1 3 -1...

2021/04/26 14:27
1.8K
0
leetcode刷题笔记-739. 每日温度(java实现)

题目描述 请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。 提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。 来源:力扣(LeetCode)链接:...

2021/04/23 17:55
2.1K
0
leetcode刷题笔记-503. 下一个更大元素 II(java实现)

题目描述 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 示例 1: 输入: [1,2,1] 输出: [2,-1,2] 解释: 第一个 1 的下一个更大的数是 2; 数字 2 找不到下一个更大的数; 第二个 1 的下一个最大的数需要循环搜索,结果也...

2021/04/22 11:19
2.1K
0
leetcode刷题笔记-496. 下一个更大元素 I(java实现)

题目描述 给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。 请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。 示例 1: 输入: nums1 = [4,1,2], nums2 = [1,3,4,2]. 输出: [-1,3,-1] 解释: 对于 num1 中的数字 4 ,你无法在第二个数组中找到下一个更大的数字,因此...

2021/04/21 17:15
2.7K
0
leetcode刷题笔记-355. 设计推特(java实现)

题目描述 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文。你的设计需要支持以下的几个功能: postTweet(userId, tweetId): 创建一条新的推文 getNewsFeed(userId): 检索最近的十条推文。每个推文都必须是由此用户关注的人或者是用户自己发出的。推文必须按照时间顺序由最近的开始排序。 follow(followerId, followeeId): 关注一个用户 unfollow(f...

2021/04/20 17:11
2.3K
0
leetcode刷题笔记-295. 数据流的中位数(java实现)

题目描述 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如,[2,3,4] 的中位数是 3;[2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据流中添加一个整数到数据结构中。 double findMedian() - 返回目前所有元素的中位数。 示例: addNum(1) addNum(2) findMedian() -> 1.5 addNum(3) findMedian() -> 2 来源:力扣(LeetCode)链接:...

2021/04/19 16:49
2.2K
0
leetcode刷题笔记-460. LFU 缓存(java实现)

题目描述 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象 int get(int key) - 如果键存在于缓存中,则获取键的值,否则返回 -1。 void put(int key, int value) - 如果键已存在,则变更其值;如果键不存在,请插入键值对。当缓存达到其容量时,则应该在插入新项之前,使最不经常使用的项无效。在此问题中,当存在平局(即两个或更...

2021/04/16 19:34
3.8K
0
解决 maven 项目中加入了 lombok 库后依然报错的问题

  平时我们采用 maven 引入第三方库,可以方便的管理第三方 jar 包,然加入 lombok 后启动 eclipse 依然报错,这是由于 lombok 是通过反射在运行时自动生成 getter()、setter()、hashCode()、toString(),故早于通过 maven 引入第三方 jar 包,所以我们需要在 eclipse 的配置文件 eclipse.ini 中增加如下两行:   -Xbootclaspath/D:/copyright/repository/org/projectlombok/lombok/1.16.4/lombok-1.16.4.jar   -javaagen...

2021/04/16 11:30
5.5K
0
leetcode刷题笔记-146. LRU 缓存机制(java实现)

题目描述 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数据之前删除...

2021/04/15 18:51
2.6K
0
leetcode刷题笔记-990. 等式方程的可满足性(java实现)

题目描述 给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:"a==b" 或 "a!=b"。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。 只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。 示例 1: 输入:["a==b","b!=a"] 输出:false 解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程,但无法满...

2021/04/13 21:18
3.4K
0
jQuery的几种显示隐藏方法

jQuery显示隐藏方法 hide()方法 元素隐藏,隐藏的前提必须是元素display:block; show()方法 元素显示,显示的前提必须是元素display:none; toggle()方法 在元素隐藏和显示之间进行切换 这三种方法设置的效果,在过程中还可以出现过渡动画 • 如果不传参数,直接显示和隐藏就没有过渡动画 • 如果传参数: •单词格式:”slow“ , "normal" , "fast" • 数字格式:单位是毫秒,在规定时间内会出现显示或 隐藏的动画。 <b...

2021/04/02 11:00
5.7K
0
鸿蒙运行报错:Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] Error while Deploying HAP

Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] Error while Deploying HAP 问题描述 近期,使用DevEco-Studio新建手机类型的工程,编译成功,发布到模拟器(鸿蒙P40)时出错,如下图: 原因分析 本地DevEco-Studio使用的SDK版本与设备(P40)不匹配导致【鸿蒙技术人员答复】; 解决办法 方案1:将config.json中的apiVersion->releaseType删除掉(很神奇:r............

2021/04/02 10:15
5.9K
0
JAMA Surgery:伤口内撒万古霉素粉在治疗高危骨折手术中的作用

核心提示:本项研究进行了随机临床实验评估伤口内撒万古霉素粉末在减少深部骨折手术部位感染的效果。 尽管广泛使用全身性抗生素可以预防手术部位感染,降低骨科手术中钢板和螺钉固定骨折后的高感染率,但是抗生素只能输送到有足够血液供应的组织,而在骨折时,骨折部位的血供可能会在严重受伤的组织中受损,因此,局部抗生素疗法可以直接给骨折部位提供更高的浓度抗生素浓度,降低感染的发生。因此,本项研究进行了随机临床实验...

2021/04/02 10:14
5.3K
0

没有更多内容

加载失败,请刷新页面

Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性

译者前言:相信凡是用过 zip() 内置函数的人,都会赞同它很有用,但是,它的最大问题是可能会产生出非预期的结果。PEP-618 提出给它增加一个参数,可以有效地解决大家的痛点。 这是 Python 3...

2020/07/02 23:52
3.5W
1
八张图彻底了解JDK8 GC调优秘籍-附PDF下载

简介 JVM的参数有很多很多,根据我的统计JDK8中JVM的参数总共有1853个,正式的参数也有680个。 这么多参数带给我们的是对JVM的细粒度的控制,但是并不是所有的参数都需要我们自己去调节的,我...

2020/06/23 07:16
5.7W
19
ABA问题的本质及其解决办法

简介 CAS的全称是compare and swap,它是java同步类的基础,java.util.concurrent中的同步类基本上都是使用CAS来实现其原子性的。 CAS的原理其实很简单,为了保证在多线程环境下我们的更新是...

2020/06/01 07:04
2.8W
3
我在实际工作中用的最多的 git 命令,全在这里了,使用简单!

前言 最近在工作中频繁用到git版本管理,期间也遇到了很多的问题,平时也会使用,但是,在没有遇到什么大的问题的时候,还是用的不是特别的熟练,最近,自己在玩的时候,发现了很多问题,同时...

2020/05/29 08:46
4.2W
18
关于加解密、加签验签的那些事

面对MD5、SHA、DES、AES、RSA等等这些名词你是否有很多问号?这些名词都是什么?还有什么公钥加密、私钥解密、私钥加签、公钥验签。这些都什么鬼?或许在你日常工作没有听说过这些名词,但是...

2020/05/12 18:26
3.2W
11
你还应该知道的哈希冲突解决策略

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/5vxYoeARG1nC7Z0xTYXELA 作者:Xuegui Chen 哈希是一种通过对数据进行压缩, 从而提高效率的一种解决方法,但由于哈...

2020/05/06 11:03
4.4W
8
若用多重继承 一定要考虑mix-in混合类

为什么要用mix-in混合类 Python是面向对象的编程语言,它提供了一些内置的编程机制,使得开发者可以适当地实现多重继承,即一个子类可以继承多个父类,但是多重继承的设计经常被人诟病,因为...

2020/05/04 10:47
1.2W
1
学习JVM参数前必须了解的

本文来自: PerfMa技术社区 PerfMa(笨马网络)官网 JVM参数是什么 大家照相通常使用手机就够用了,但是针对发烧友来说会使用更专业的设备,比如单反相机,在单反里有好几个模式,P/A/S/M,其中...

2020/04/16 14:02
3.8W
7
聊一聊,单元测试应该测试什么?

系列导航 点击跳转到系列博文目录导航 开始 现在大公司越来越重视项目的单元测试,甚至明确要求项目的单元测试覆盖率不能低于某个值,足可见单元测试的重要性; 试想如果没有单元测试,那么如...

2020/04/14 10:29
3.3W
6
大数据、分布式都用到了的Netty,这几大核心知识你一定要看看!

1. Netty 基础 Netty 是一个高性能、异步事件驱动的 NIO 框架,它提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listene...

2020/04/03 15:21
4.6W
8
干货|漫画算法:LRU从实现到应用层层剖析(第一讲)

今天为大家分享很出名的LRU算法,第一讲共包括4节。 LRU概述 LRU使用 LRU实现 Redis近LRU概述 第一部分:LRU概述 LRU是Least Recently Used的缩写,译为最近最少使用。它的理论基础为“最近使...

2020/04/01 10:07
2.3W
6
Spring 和 Spring Boot 之间到底有啥区别?

相信很多小伙伴和我一样,常用Spring 和Spring Boot 但是就是没有研究二者之间到底有什么区别? 今天就来大揭秘 ↓ 概述 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始...

2020/03/29 09:59
4.7W
20
Java中的屠龙之术——如何修改语法树

在Lombok经常用,但是你知道它的原理是什么吗?,和Lombok经常用,但是你知道它的原理是什么吗?(二)两篇文章中介绍了关于Lombok的底层原理,其实总结为一句话来说就是在编译期通过改变抽象语...

2020/03/26 14:53
4.8W
7
恕我直言,我怀疑你没怎么用过枚举

我们是否一样? 估计很多小伙伴(也包括我自己)都有这种情况,在自学Java语言看书时,关于枚举enum这一块的知识点可能都有点 “轻敌” ,觉得这块内容非常简单,一带而过,而且在实际写代码...

2020/03/17 09:56
6.2W
30
JVM源码分析之jstat工具原理完全解读

概述 jstat是hotspot自带的工具,和java一样也位于JAVA_HOME/bin下面,我们通过该工具可以实时了解当前进程的gc,compiler,class,memory等相关的情况,具体我们可以通过jstat -options来看...

2020/03/10 15:21
3.6W
1
一位 Rust 开发者的 Go 初体验

作者介绍:Nick Cameron,PingCAP 研发工程师,Rust 语言核心成员。 感谢 Rust 语言中文社区伙伴们的翻译和审校: 翻译:尚卓燃 审校:吴聪、张汉东 过去几周,我一直在用 Go 语言编写程序。...

2020/03/05 21:05
7.5W
3
你一定想不到,实现一个Python+Selenium的自动化测试框架就这么简单!

首先你得知道什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium We...

2020/03/05 14:53
3.4W
8
Python在计算内存时应该注意的问题?

我之前的一篇文章,带大家揭晓了 Python 在给内置对象分配内存时的 5 个奇怪而有趣的小秘密。文中使用了sys.getsizeof()来计算内存,但是用这个方法计算时,可能会出现意料不到的问题。 文档...

2020/03/02 17:54
1.6W
1
探究 Go 语言 defer 语句的三种机制

Golang 的 1.13 版本 与 1.14 版本对 defer 进行了两次优化,使得 defer 的性能开销在大部分场景下都得到大幅降低,其中到底经历了什么原理? 这是因为这两个版本对 defer 各加入了一项新的机...

2020/03/01 13:41
1.7W
3
这才是你需要的C语言、C++学习路线!

小伙伴们,大家好。 关于C语言和C++的学习路线终于梳理完了。当然我也只能从我曾经近3年的通信公司后台开发经历和目之所及的世界,跟大家聊聊这个话题。 这块的东西很多很杂,不过梳理和总结...

2020/02/29 09:27
13.2W
29

没有更多内容

加载失败,请刷新页面

返回顶部
顶部