自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指 Offer 31. 栈的压入、弹出序列

思路:使用一个栈来模拟压入弹出操作。每次入栈一个元素后,都要使用while循环来重复判断一下栈顶元素是不是当前出栈数组 popped 的第一个元素,如果是的话则执行出栈操作并将 popped的索引index往后移一位,继续进行判断。class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { Stack<Integer> stack = new Stack&.

2022-03-22 16:27:59 87

原创 剑指 Offer 07. 重建二叉树

思路:对于preorder = [3,9,20,15,7]、inorder = [9,3,15,20,7]这两个数组,易知前序遍历的首个数组元素为中序遍历的根节点,因此3为根节点,而3左边的元素为左子树元素,右边的元素为右子树元素,并且对于inorder 数组中3的左边1个元素为左子树的中序遍历元素集合,右边3个元素为右子树的中序遍历元素集合,对于preorder 数组中3的左边1个元素9为左子树的前序遍历元素集合,9右边的3个元素为右子树的前序遍历元素集合。因此可以使用递归来解题,将问题规模不断拆分。代.

2022-03-21 11:01:31 469

原创 剑指 Offer 06. 从尾到头打印链表

此题有两种思路,思路一:先反转链表,然后存入新建的数组中。 思路二:直接将链表存入新建的数组中,然后将数组中的数据原地置换。class Solution { public int[] reversePrint(ListNode head) { ListNode cur = head; ListNode pre = null; ListNode temp = cur; int len = 0; whi...

2022-03-21 10:50:55 461

原创 剑指 Offer 05. 替换空格

思路:遍历字符串中的每一个字符,如果遇到空格则将"%20"加到stringBuilder中,否则将原字符加到stringBuilder中。 public String replaceSpace (String s) { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < s.length(); i++){ if (s.charAt(i) == ' '

2022-03-19 12:07:55 277

原创 剑指 Offer 04. 二维数组中的查找

题中每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。遇到这种有序数据可以先考虑贪心的思想,通过观察知道先取左下角的元素matrix[x][y](其中x = matrix.length,y = 0)具有这样的特点,即与它同一行的右边所有数据都比它大,与它同一列的上边边所有数据都比它小。因此拿target和matrix[x][y]作比较,如果target小于matrix[x][y],那么matrix[x][y]右边的所有数据都大于target可以排除,因此再定位到matrix[x - 1

2022-03-10 20:55:51 143

原创 剑指 Offer 03. 数组中重复的数字

class Solution { public int findRepeatNumber(int[] nums) { for (int i = 0; i < numbers.length; i++){ int temp = numbers[i]; whlie(i != temp){ if(temp == numbers[temp]) return temp;...

2022-03-10 20:32:36 154

原创 LeetCode 15. 三数之和

该题可以先将数字排序,然后用双指针算法来解题。本文没有使用双指针,而是利用HashMap来解题。public class LC15_threeSum { public List<List<Integer>> threeSum(int[] nums) { HashMap<Integer, Integer> hashMap = new HashMap<>(); HashSet<List<Integer&gt

2022-02-26 21:44:52 121

原创 LeetCode11. 盛最多水的容器

该题的核心思想是较小高度的垂线会决定总体的高度,因此以靠近横坐标的方式移动较小高度的垂线将有可能使面积增大。对于这种单向有序的问题通常可以使用双指针来解决。public class LC11_maxArea { public int maxArea(int[] height) { int left = 0, right = height.length - 1; int maxSum = 0; while (left < right){

2022-02-26 21:38:02 103

原创 LeetCode 5. 最长回文子串

public int TreeDepth(TreeNode root){ if (root == null) return 0; int leftHeight = TreeDepth(root.left); int rightHeight = TreeDepth(root.right); if (leftHeight == -1 || rightHeight == -1 || Math.abs(leftH

2022-02-26 21:25:43 313

原创 Idea中Pom文件成灰色的解决方案

当Idea创建模块时,模块名与之前创建并删除过的模块重名了,被IDEA误认为此Project中需要排除该Module,可能就会导致pom文件变成灰色。解决方案:Setting→Build Tools→Ignored Files 将Ignored Files中的√去掉即可。...

2021-10-16 19:39:27 7923

原创 Mybatis连接数据库报错

报错提示如下:org.apache.ibatis.exceptions.PersistenceException:### Error querying database. Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)### The error may exist in com/zzy/dao/UserMapper.xml### The error may..

2021-10-15 15:23:30 261

原创 E:Could not get lock /var/lib/dpkg/lock 问题解决方法

今天在ubuntu上安装docker时,执行命令sudo apt-get install docker.io时,系统提示:E: Could not get lock /var/lib/dpkg/lock. It is held by process 2022 (unattended-upgr) 上述提示的意思是,无法获取/var/lib/dpkg/lock 锁,解决的办法很简单,把当前的锁干掉就可以了,执行sudo rm -rf /var/lib/dpkg/lock 。...

2020-11-02 23:12:40 1348

原创 hduoj 1010 【Tempter of the Bone】 奇偶剪枝 DFS

The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He realized that the b...

2019-05-15 11:27:54 169

原创 【HDU 1016】 Prime Ring Problem (dfs)

A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime. Note: the numb...

2019-05-13 18:14:13 76

原创 PAT【天梯赛】7-11 悄悄关注

#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#include&lt;map&gt;#include&lt;iostream&gt;using namespace std;struct People1{ char name[5];}p1[6000];struct People2{ char name[5]...

2018-03-27 16:54:37 547

转载 动态规划入门篇

原文:http://www.cnblogs.com/sdjl/articles/1274312.html通过金矿模型介绍动态规划   对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感

2017-12-09 18:32:55 156

原创 int long long long 的取值范围

unsigned int 0~4294967295 int 2147483648~2147483647 unsigned long 0~4294967295long 2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigned long lon

2017-12-03 12:13:23 374

原创 【POJ 2456】 (二分法 &&)

Aggressive cowsOUTPUT DETAILS: FJ can put his 3 cows in the stalls at positions 1, 4 and 8, resulting in a minimum distance of 3.Huge input data,scanf is recommended.SourceUSACO 20

2017-11-20 23:16:59 360

转载 与程序竞赛有关的数学知识点

容斥原理集合的并集设A1,A2...,An是有限集合,则 |A1⋃A2⋃…⋃An|=∑ni=1|Ai|−∑ni=1∑j>i|Ai⋂Aj|−∑ni=1∑j>i∑k>j|Ai⋂Aj⋂Ak|…+(−1)n|A1⋂A2⋂…⋂An|Sylvester公式给定集合N和具有性质i的集合A1,A2...,An,则 |A¯¯¯1⋂A¯¯¯2⋂…⋂A¯¯¯n|=|N|−(∑ni

2017-09-29 09:23:40 262

转载 lower_bound()

函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标则pos = lower_bound( number, num

2017-09-27 23:07:52 164

原创 【51 nod 1090】 3个数和为0

给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。Input第1行,1个数N,N为数组的长度(0 第2 - N + 1行:Aii(-10^9 ii Output如果没有符合条件的组合,

2017-09-27 23:01:56 162

原创 【zzuli 2181】(GJJ的日常之暴富梦)

DescriptionGJJ有个暴富梦。他梦想着有一天,他突然有了很多很多钱,他梦想着等他有钱了,要在自己的家里挖两个游泳池,一个用来洗脸,一个用来洗脚。他梦想着等他有钱了,他要买两辆劳斯莱斯,每次出门时候自己开一辆,车后面再拖一辆。GJJ每天都沉浸在他的暴富梦中。这天他突然打听到,有个选秀节目冠军奖金100亿,他知道他的暴富梦马上就要实现了。他去参加选秀了。GJJ

2017-08-18 20:32:26 254

原创 【zzuli 2178】(GJJ来签到)

DescriptionGJJ每天都很忙碌, 他每天要上班, 还要回家烧饭洗衣服。GJJ的公司有个要求, 每天上班需要打卡,忙碌的GJJ有时候会忘记打卡签到了,导致他的缺勤记录里有对应N天未签到的记录。 Gjj可是认识管理部门的妹子琳, 琳给了他M张签到卡,每张都可以消除某一天的未签到记录。将原本未签到的一天变成已经签到的一天。GJJ现在想要利用这些签到卡使自己连续签到的天数最长, 小伙

2017-08-18 20:30:46 194

原创 【zzuli 2175】(GJJ的日常之再游戏)

DescriptionGJJ和WJJ又开始了游戏,然而由于WJJ太强了,所以GJJ只好靠计谋取胜,而正因为WJJ太强,所以用过一次的计谋便无效了。GJJ和WJJ一共玩了N场游戏,如果GJJ想要获胜,必须得赢的场数比Wjj多。问:GJJ能否获胜?Input多实例,到文件尾结束每个样例第一行一个N(1第二行是N个数x,表示计谋的编号(0Output

2017-08-18 20:22:28 227

原创 【HDU 1166】敌兵布阵(树状数组)

C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战术,

2017-08-17 18:30:47 164

原创 【P OJ 2406】Power Strings(KMP)

DescriptionGiven two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multiplication, exponenti

2017-08-16 21:12:02 197

原创 【HDU 2087】 剪花布条(KMP)

一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。 Out

2017-08-16 18:08:36 187

原创 【HPU 1019 】985的买饮料难题 (dp)

天气太热了,985制定了对未来的规划即第ii天喝a[i]a[i]瓶饮料。为了节约开支,他打听到了第ii天每瓶饮料的价格p[i]p[i]。为了不让自己的规划落空,他想知道这nn天他至少要花多少钱。精明的985可以选择在任意一天买数目不限的饮料,而且他有一个神奇的冰箱,可以将提前购买的饮料保存下来(至少在这nn天里是可以饮用的)。输入第一行输入一个整数TT,代表有TT组测试数据

2017-08-16 16:33:22 314

原创 矩阵乘法(2)【模板】

输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。Input 第一行,空格隔开的三个正整数m,s,n(均不超过200)。  接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。  接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。Outputm行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)

2017-08-14 20:12:42 317

原创 矩阵的乘积【水题】

给定两个矩阵$A$和$B$,你需要判断它们是否可以相乘,若可以请输出相乘后的矩阵。Input第一行输入一个整数$T$,代表有$T$组测试数据。每组数据第一行输入两个整数$N,M$,代表矩阵$A$的行、列。接下来$N$行,每行输入$M$个整数$a[][]$。之后一行输入两个整数$n,m$,代表矩阵$B$的行、列。接下来$n$行,每行输入$m$个整数

2017-08-14 20:09:42 269

原创 矩阵 A+B【水题】

在数学中,矩阵是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵

2017-08-14 19:19:23 968

原创 【南阳oj 108士兵杀敌(一)】 (线段树 模板题)

南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军现在想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。注意,南将军可能会问很多次问题。输入只有一组测试数据第一行是两个整数N,M,其中N表示士兵的个数(1随后的一行是N个整数,ai表示第i号士兵杀敌数目。(0随后的M行每行有两个整数m,n,表

2017-08-12 20:48:54 203

原创 【HDU 1950】 Bridging signals (最长上升子序列nlogn算法)(二分,动态规划)

Bridging signalsTime Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 210    Accepted Submission(s): 128Problem Description'Oh no, t

2017-08-09 21:05:13 219

原创 【HDU 1159】Common Subsequence (动态规划)

A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = another sequence Z = is a subsequence of X if there exists a strictly incr

2017-08-08 19:48:28 230

原创 【HDU 1029】Ignatius and the Princess IV (动态规划)

"OK, you are not too bad, em... But you can never pass the next test." feng5166 says. "I will tell you an odd number N, and then N integers. There will be a special integer among them, you have to

2017-08-07 21:15:37 607 1

原创 【杭电1257】最少拦截系统(动态规划)

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系

2017-08-07 21:14:03 249

原创 【杭电1233 -- 还是畅通工程】 (最小生成树)

某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 当N为0时,输入结束,该用例不被处理。

2017-08-05 17:05:44 191

原创 【杭电 oj】1863畅通工程 (最小生成数 模板)

省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。 Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( 行对应村庄间道路的成本,每行给出一对正整数,分别是

2017-08-03 19:49:17 297

原创 More is better (并查集)

Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements. Mr Wang selected a r

2017-08-03 16:43:01 203

原创 HDU 1213 How Many Tables

How Many Tables                                    Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. Y

2017-08-02 18:06:52 144

空空如也

空空如也

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

TA关注的人

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