自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 leetcode153 寻找旋转排序数组中的最小值 思考过程

本篇文章主要想展示自己在做这道题的思路过程,并不想往常使用二分法来寻找数组中的特定值,但这个题目有所不同,是寻找部分有序数组的最小值,难点在于如何确认最小值处于左右哪一个区间。在普通的二分法中,当前位置是不是目标值很好确定,当前值与目标值判等即可;目标值位于当前位置的左方还是右方也很好确定,将当前值与目标值比较即可;我们要找的位置具有显著的两点特征:1)该位置的值 = 目标值2)前一个位置的值 <= 该位置的值 <= 后一个位置的值根据这两个特征就很容易确定目标值所在区间。在当前题目中,最小值所在位置同

2025-03-11 12:35:39 371

原创 下一个排列算法步骤和我的个人理解

下一个排列算法步骤和个人理解

2025-03-04 16:56:57 355

原创 从一段代码简单理解Java类运行时加载

可以看到即使类A已经被删除,Main还是成功执行了,并且成功打印,当执行A.print();时,jvm才试图加载类jvm.A,这个时候由于类文件已经被删除,类加载器找不到对应类文件因而报错ClassNotFoundException。首先创建两个类Main和A,在Main类的main方法中会调用A类的静态方法print。从这个示例可以推出:Java的类是运行时动态加载的,只有在第一次需要该类时才会加载。编译后删除A.class文件,运行Main类,结果输出。

2025-02-09 13:46:07 105

原创 对ReentrantLock的公平性进行测试

本文队ReentrantLock中公平性实现原理进行介绍,然后对公平性进行测试

2025-02-08 18:08:59 386

原创 UVA227 谜题 Puzzle

题目链接:https://www.luogu.com.cn/problem/UVA227Puzzle这道题目一上来一大堆题目描述,还是英文,对于我这样的英文不怎么样的人直接劝退,还好看了一下中文翻译,豁然开朗,题目的大意是:有5*5的25个格子(其中24个是字母,1个是空格),空格周围的字符都可以移动到空格处,首先输入这25个字符,然后再给你一连串移动命令,请你输出移动后格子中的字符情况。难点如果这25个字符没有空格的话,输入是很容易的,但偏偏是有空字符的,所以我们不能够使用cin或者scanf,因

2020-07-07 22:04:47 282

原创 UVA401回文串+镜像串判断

题目链接:https://www.luogu.com.cn/problem/UVA401回文串的判断不难,难点在于镜像串的判断,所谓镜像串就是根据题目的镜像表两次镜像后保持原样就是镜像串,第一次镜像后得到的是这个串的倒像,所以判断一个镜像串的依据就是一次翻转后是这个串的倒像。问题在于怎么镜像,写个函数整个串镜像?还是写个函数只镜像单个字符?显然如果我们镜像整个串会麻烦很多,所以选择镜像单个字符。随之而来的问题是我们怎么存题目给的镜像表,我一开始的想法是用两个string分别存原字符和镜像字符,然后每次镜

2020-07-02 11:30:26 299

原创 竖式问题

竖式问题找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。样例输入:2357样例输出:<1>..775X..33----- .23252325.-----25575The number of

2020-06-21 18:11:36 677

原创 快速幂取模

洛谷的题目,模板题可供练习https://www.luogu.com.cn/problem/P1226问题:求 ( a ^ b ) % c首先按照最简单的思路去做,b个a 去相乘,乘b次取模,时间复杂度高,a ^ b 太大直接超过long long 没法做了。1.首先解决时间问题b个a乘起来太累,我们可以转化为 ( a * a ) ^ ( b / 2 ),只要 b 是偶数,如果b是奇数可...

2020-02-18 12:16:17 346

原创 洛谷p1101单词方阵

https://www.luogu.com.cn/problem/P1101写过迷宫搜索,这道题也是很容易上手,写完才发现没读完题,每次都是一个方向搜。。。。写完搜索我还纳闷自己又写错了,结果发现只能一个方向走到头,这样的话这道题循环做也是可以的,都不需要dfs了,不过写一写算熟悉了。刚开始写搜索函数时,我一个一个字母的判断,后来才发现自己太蠢,用数组判断即可,以后一定不会这样了。在这里插入代...

2020-02-16 10:03:44 119

原创 洛谷p1065迷宫-dfs

https://www.luogu.com.cn/problem/P1605求一个点到另一个点的所有路线#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <vector>#include <string&gt...

2020-02-16 08:48:04 229

原创 洛谷p1019单词接龙-dfs

https://www.luogu.com.cn/problem/P1019这道题好难想,刚开始就字符拼接这块写了一大堆,写完搜索不会写了,光找两个字符串的最小重叠部分就写了好多,最后写不下去了,需要太多代码了,于是就去找大佬题解了,确实自己写繁了,梳理一下大佬的思路吧。对所有的字符串循环,对于首字母符合条件的以这个字符串开头进行搜索,所以可能搜索不止一次。由于每个字符串最多出现2次,所以用一...

2020-02-15 17:15:44 202

原创 洛谷p1162填涂颜色-深搜或宽搜

https://www.luogu.com.cn/problem/P1162这道题标签是bfs所以先拿Bfs做,但其实dfs更简单一些。思路是把1外围的所有0都标记,然后再浏览整个数组,把所有未标记的0都置2输出即可,但是搜索有一个问题就是只能搜相连通的一片区域,如果外围1把整个图分为了几个区域,那搜索就只能搜索到一片区域,为了解决这个问题,需要给原来的数组扩充一层0,这样就不存在不连通的外围...

2020-02-15 10:33:27 261

原创 洛谷p1219八皇后-深度优先搜索

https://www.luogu.com.cn/problem/P1219经典递归回溯问题,八个皇后要不同行,不同列,不同斜线,不同行列还好说,就是这个不同斜线怎么判断,这里就要去找规律。可以发现在一条右斜线上即这样一条斜线 / 上,所有点的横坐标加纵坐标等于一个固定值,并且每条斜线上的值都不相同,所以我们可以用标记数组还标记右斜线,当我们选择另一个点时,不会再去选择这条斜线上的点...

2020-02-14 16:11:20 271

原创 洛谷p1094纪念品分组-贪心算法

https://www.luogu.com.cn/problem/P1094一组最多两件纪念品,那么一般小的纪念品都能凑成一对满足要求,但是大的纪念品就只能单独作为一组了,这无疑会增加组数,所以尽量为大的纪念品找小的纪念品凑成一对,这样最终一定会得到最优解#include <iostream>#include <cstdio>#include <algorit...

2020-02-13 11:19:10 431

原创 洛谷p1090合并果子 优先队列

https://www.luogu.com.cn/problem/P1090贪心题,第一眼我看这道题,不就是所以果子排个序,从小到大依次相加,最后求sum,毫无疑问wa了,不过还拿了10分,题目给的数据太好了正好可以从小到大加,但是每次加完之后要考虑加完的这堆在所以果子堆中的位置,于是又修改了代码,在每次合并果子时加了排序,结果tle了,翻题解看到简单的方法就是使用优先队列,优先队列与队列的不同...

2020-02-13 08:55:37 195

原创 字符串处理洛谷P1012拼数

https://www.luogu.com.cn/problem/P1012刚开始并没有想到字符串排序,想用整数一位一位比较,想了半天感觉太难了,然后想到了字符串排序,写完高兴怎么这么简单,结果一提交wa了一个点,一看原来32,321的组合最大是32321,而字符串排序的话321>32这就有问题了,于是修改了排序#include <iostream>#include &lt...

2020-02-12 11:02:33 192

原创 洛谷p1328生活大爆炸-简单模拟

https://www.luogu.com.cn/problem/P1328又get到思路清奇的题解,初次尝试做的时候直接Ifelse堆起来,写起来很累#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <vector&gt...

2020-02-11 11:18:42 436

原创 洛谷p1618三连击(升级版)-搜索

题目链接https://www.luogu.com.cn/problem/P1618题目意思什么明确,最近刚学会搜索于是第一时间想到了全排列找特定的解,但是写完之后发现怎么也不对,一直输出无解,经过不断地调试和思考,我发现自己画蛇添足地在搜索函数中的条件语句中添加了一个判断,如果符合就return,然而如果return的话后面的回溯就不会执行,所以函数在搜索到一半就停止了,在这里告诫自己回溯之...

2020-02-06 10:16:15 237

原创 回溯法求n个不同数的全排列

#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#define N 6using namespace std;int a[N] = { 1,2,3,4,5,6 };//待排列的数组int b[N];//选择数组int c[N];//标...

2020-02-03 11:24:54 1274 1

原创 回溯-洛谷p1149火柴棒等式

火柴棒等式https://www.luogu.com.cn/problem/P1149这个题可以不用搜索直接枚举就可以,方法很简单,但是不容易想到#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;i...

2020-02-03 10:55:44 167

原创 洛谷P1028 数的计算

题目链接https://www.luogu.com.cn/problem/P1028一开始是这样的#include <iostream>#include <cstdio>using namespace std;int sum = 1;//sum包含n本身void f(int n) { if (n <= 1) return; else { ...

2020-02-01 17:57:27 297

原创 python乱码问题万不得已的解决方案

搞了一天vscode配置python,中文乱码问题真是头疼,从百度到搜狗,从搜狗到知乎,从知乎到csdn,搜索了所有可参考的解决方案,每个都试了一遍,结果该乱码还是乱码,心态炸了,最后解决方案:重装版本较高的python重装版本较高的python重装版本较高的python以后配置软件出现难以解决的问题一定要想到环境问题,就是这个问题让我安不止一个软件的时候出现莫名其妙的连百度都解决不了的问...

2019-12-09 16:53:01 173

原创 cmd运行java程序包名不存在问题解决

问题描述:在写java作业的过程中,两个包内分别有一个java类,一个类导入了另一个类所在的包,然后在程序中使用,然而在编译过程中出现了问题。 提示该程序包不存在。问题原因:整个包的位置需要在javac编译位置下,编译时不会往父文件夹找,只会往子文件夹找,所以两个类所在的包一定要在javac当前文件夹之下,具体可以看看下面的教程理解。在cmd下编译Java源文件文件出现程序包xxxx不存...

2019-11-06 22:04:38 4409

原创 插入排序

插入排序个人理解:一重循环从下标为1的元素到最后一个元素,元素左边是已经排好的数组,然后用while循环寻找元素在数组中的位置,从当前位置开始将数组后移1位,然后插入元素。以下程序功能:输入n,然后输入n个数字,打印每次插入排序后的数组#include <iostream>#include <queue>#include <string>#inc...

2019-10-25 12:55:40 122

转载 cin、cin.get()、cin.getline()、getline()的区别

https://blog.youkuaiyun.com/a3192048/article/details/80303547#commentBox

2019-10-21 15:19:25 134

转载 eclipse的new中选项缺失如没有新建java project或class选项有效解决方案

转发https://blog.youkuaiyun.com/u013001763/article/details/54405758

2019-10-17 12:56:04 2075

原创 eclipse删除项目正确方法

1.window->show view->package explorer2.选择项目-Delete

2019-10-17 12:11:54 4257 1

原创 A+B高精度入门

洛谷的题目:https://www.luogu.org/problem/P1601代码完全跟着大佬走的,这里解释一下这个过程。高精度顾名思义就是在数字位数很大的情况下对数字进行运算。由于这两个数都很大,那么我们就无法通过输入一个int型甚至一个long long来存储,那么我们只能将这个数的每一位拿数组存储起来,两个数组按位相加,相加结果存储在另一个数组里,最后输出结果。代码实现如下:#i...

2019-10-14 20:28:24 244

原创 Java引用类型数据的初始化过程

对象的构造及初始化程序的步骤总结(1)分配内存空间。(2)进行属性的默认初始化。(3)进行属性的显式初始化。(4)执行构造器。(5)为引用类型变量赋值。我们以下面这样一段代码来分析Email el;e1 = new Email("123@qq.com","capter3",2);System.out.println("第一封邮件的地址是:"+e1.getAddress());E...

2019-10-02 12:19:06 715

原创 Eclipse中syso快捷键设置

在Window/preference/general下面的keys中,把content asist这个改成alt + /在下面,有一个when,选择editing text。

2019-10-02 10:20:36 4652

原创 Java数组排序

import java.util.Scanner;import java.util.Arrays;public class Hello_Java { public static void main(String[] args) { // TODO Auto-generated method stub int[] a = { 2, 1, 3, 6, 4, 8 }; for (in...

2019-10-02 10:05:17 134

原创 Eclipse格式化代码

格式化代码https://www.cnblogs.com/heganlin/p/5160531.html

2019-10-02 09:19:52 158

原创 Java的Math类常用函数

Math常用函数1.floor返回不大于的最大整数2.round则是4舍5入的计算,入的时候是到大于它的整数(当-1.5时可见,四舍五入后得到的结果不是我们期待的,解决办法是先对他取绝对值,然后在用round方法)round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math...

2019-09-30 21:45:15 263

原创 Java常用包

Java常用包1.java.lang包含一些Java语言的核心类,如String、Math、Interger、System和Thread,提供常用功能。要使用这个包中的类,可以不用 import 语句来显式引用。在默认情况下,编译器会将这个包自动引入任何 Java 程序中,所以这个包中的类可以直接在程序中使用。2.java.net包含执行网络相关的操作的类。3.java.io包含能提供...

2019-09-30 20:28:19 327

原创 Java保留小数操作

java保留小数import java.util.*;public class Main{ public static void main(String []args) { Scanner input = new Scanner(System.in); if(input.hasNext()) { floa...

2019-09-30 20:07:42 283

原创 Eclipse安装教程~强烈推荐

Eclipse安装教程超详细超良心的安装教程https://blog.youkuaiyun.com/qq_36554582/article/details/81835097Java. Warning – Build path specifies execution environment J2SE-1.6(也可能是另一个环境)有效解决方案:警告解决方案https://blog.youkuaiyun.com/qq...

2019-09-26 09:57:15 214

原创 hdu-1225-Football Score

hdu-1225-Football Score题目传送门:hdu1225题意:给你很多组两个队伍的比赛信息包括队伍名,得分,进球数,净进球数,进球多的一方可以得3分,进球相同各得一分。最后要按排名输出队伍名以及它的得分,排名规则为:1.得分2.净进球数3.进球数4.队伍名思路:一个队伍可以有多场比赛,也就是说一个队伍可以在输入中出现多次,如果直接使用结构体储存的话重名问题难以解决,而...

2019-09-24 21:12:50 307

原创 hdu 6023-Automatic Judge

hdu-6023-Automatic Judge题目传送门:hdu6023第一次做这个题真的是想的很复杂,而且都WA掉了,其实看到题解才知道这道题其实没什么,不过这么长的题目描述真是把我吓到了。言归正传,题意大致是这样,给你多个题目的题号,提交时间,提交状态,让你输出ac题的数量和总罚时,在你ac一道题之前每一次不成功的尝试都会为这道题增加20的罚时,但是罚时只有在你ac某一道题目时产生,一...

2019-09-24 19:57:38 170

原创 hdu4143-A Simple Problem

4143 - A Simple Problem题目意思很明确,对于公式y ^ 2 = n +x ^ 2,每次给你一个数 n,求使得 y 为整数的最小正整数 x 。#include<iostream>#include<iomanip>#include<algorithm>#include<cmath>using namespace std;...

2019-09-24 19:29:44 221 1

原创 hdu1491-Octorber 21st

Hdu1491-Octorber 21st题目传送门:hdu1491计算日期,超期或者当天输出一段话,未到期输出天数。#include<iostream>using namespace std;int main(){ int N, month, day; int mon[9] = { 31,28,31,30,31,30,31,31,30 }; cin >>...

2019-09-24 09:21:28 302

空空如也

空空如也

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

TA关注的人

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