自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

long_long_int的博客

单线程小伙

  • 博客(6)
  • 收藏
  • 关注

原创 java中为什么重写equals就要重写hashcode

其实原因很简单,首先第一点原因就是约定,就是说两个对象equals返回true,那么他们的hashcode也应该相等,但其实这一点约定我们不遵守也无妨,下面的原因才是主要的。如果我们将一个类作为hashmap的key,那么在hash的时候是根据hashcode进行hash的,而且hashmap又要求相同元素不能重复插入,那么如果hashcode不相等就会映射到不同的桶中。这时候我们判断是否插入了重复元素就会出现问题因此,一般在重写equals的时候就要重写hashcode。...

2021-11-24 15:27:27 231

原创 一文读懂java静态绑定和动态绑定

前提:动态绑定和多态是息息相关的,动态的意思是在运行期间决定调用哪个函数,同时也可以不用重新编译就能够感知程序的变化先说一下静态绑定吧一些用static,final,private修饰的方式,在调用的时候就是使用的静态绑定方法,比如private修饰的方法,我们调用一个对象的私有方法,其实在逻辑上是肯定只有一个方法与之对应的(私有方法不能继承,没有任何的歧义),因此在编译的时候就可以确定运行哪一个方法。也可以想一下重载也是一样,没有继承关系的重载也是静态绑定。接下来是动态绑定先看一个

2021-11-23 14:59:15 343

原创 追求对于单调栈的极致理解

追求对于单调栈的极致理解自己看了好多博客,但是很少有能让我恍然大悟的,都要自己一点一点去琢磨,这是让我深恶痛绝的。首先先给一道题,单调栈模板:https://www.luogu.com.cn/problem/P5788大意就是给定一个数组,对于数组中的每个元素,求出在它右边的第一个比它大的元素。直接先入为主,不讲怎么思考从而想到用单调栈解决这个问题的,因为我也想不到。直接讲单调栈是怎么解决的。最重要的一个点,就是单调栈的状态,在对中间的某一个元素比如x求解的时候,单调栈...

2021-04-16 17:08:58 118

原创 洛谷 P1637 蚂蚁(洞穿本质题)

题目描述有许多蚂蚁在一根无限长的木棍上,每一只蚂蚁都有一个初始位置和初始朝向(任意两只蚂蚁的初始位置不同)。蚂蚁们以每秒一个单位的速度向前移动,当两只蚂蚁相遇时,它们会掉头(掉头时间忽略不计)。现给出每只蚂蚁的初始位置和初始朝向,请你计算出它们在t秒后的位置和朝向。输入输出格式输入格式:第一行,两个空格隔开的整数n,t(代表蚂蚁数n和时间t)第2~n+1行每行两个整数,第i+1行代...

2019-03-08 15:07:35 650

原创 全排列 回溯法

全排列可以说是最基本的部分了,不过实现的过程还是很有必要学习的,可以说难者不会,会者不难。大体思路如下:第一步:从n个数中选取第一个排列的第一个元素,如1;第一步:从n个数中选取第一个排列的第二个元素,如2;......第n步:从n个数中选取第一个排列的第n个元素,如n;当然不能选重复的。到此,第一个排列已经选出来了。那么第二个排列怎么选呢,其实很简单。上一个排列执行到第n步后,这个函数不再执行,...

2018-04-13 16:29:05 11744 7

原创 C++int类型与string类型相互转换

C++中难免遇到int类型和string类型相互转换的问题,那么你们是不是有自己的办法呢,今天我就分享一下我的方法。我用的是stringstream,在<sstream>头文件里。#include<iostream>#include<sstream>using namespace std;int main(){ string str="1";...

2018-03-05 21:30:44 744

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除