![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
Xiao菜瓜
这个作者很懒,什么都没留下…
展开
-
Java中>>和>>>的区别
转自https://www.cnblogs.com/565261641-fzh/p/7686757.html>>:带符号右移。正数右移高位补0,负数右移高位补1。比如:4 >> 1,结果是2;-4 >> 1,结果是-2。-2 >> 1,结果是-1。>>>:无符号右移。无论是正数还是负数,高位通通补0。对于正数而言,>>和...转载 2018-07-08 09:51:20 · 548 阅读 · 0 评论 -
HPU多校-H:又是划分问题
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=7这应该算是经典的DP问题吧:1:当n为奇数时,f(n)=f(n-1)2:当n为偶数时,f(n)=f(n-1)+f(n/2)(1)由于是用2的幂表示 则对于奇数n来说 一定是在偶数n-1的基础上每个方法上+1所以并不影响结果 (2)把偶数n拆分方法分为两大种 ...原创 2018-07-29 21:42:30 · 270 阅读 · 0 评论 -
HPU多校-J:台阶问题
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=9这也是道经典的DP问题。其中如果每次可以走x个台阶,分两种情况1:i>x:dp[i]=dp[i-1]+dp[i-2]+...dp[i-x]2:i<=x:dp[i]=dp[i-1]+dp[i-2]+...dp[0]代码:import java.util....原创 2018-07-29 21:47:47 · 208 阅读 · 0 评论 -
hpu多校-K: 括号括号
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=10这个也很简单,括号配对问题,用栈解决。不过这道题注意是eof输出:import java.util.*;public class Main { public static void main(String[] args){ Scanner sc=new Scanne...原创 2018-07-29 21:51:20 · 282 阅读 · 2 评论 -
KMP算法的理解
学了一天终于了解KMP算法了,下面我通过图片讲解一下。 先说一下Bru-Force算法,比如我们要从序列:1 2 3 1 2 3 1 2 3 1 2 3 4中寻找序列1 2 3 1 2 3 4我们可以进行如下操作: 。。。。。。就这样一步一步可以类推出来子序列在目标串中的位置,但是这种效率如果碰到特殊情况如:目标串为:aaaaaaaaab,目标串:aaab的情...原创 2018-07-21 19:17:42 · 658 阅读 · 4 评论 -
数据结构-队列(JAVA)
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。(百度百科) 用链表实现一个队列大概就是要有一个头节点,一个尾节点,尾节点取出,头结点插入,要注意的一点是当队列中没有元素时要做特殊处理。 队列可以解决经典的走...原创 2018-07-26 20:46:28 · 178 阅读 · 0 评论 -
Hpu赛题-A Math Problem
题目链接:http://8be0ed4d.ngrok.io/contest/1/problem/A这道题应该算是比较水的题吧,但是我害怕Scanner输入过不了,就用了缓冲,直接上代码:import java.io.*;import java.util.*;public class Main { static StreamTokenizer in = new StreamToken...原创 2018-08-05 18:38:52 · 254 阅读 · 0 评论 -
队列求解素数环
这是我们数据结构的作业,先看要求吧:编程实现队列类,要求包括基本变量和基本操作,也没啥。队列中两个变量,头节点和尾节点。每个节点不仅要有next节点值,还要有last节点。然后insert函数和pop函数,一个插入一个删除。不过这个要分几种情况,当队列为空,或者只有一个元素。队列实现:class Link<T>{ Node<T> head; ...原创 2018-10-03 16:24:54 · 916 阅读 · 0 评论 -
今日分数据结构作业:二叉树简单操作
又是一次非常有趣(sangxinbingkuang)的作业。这么简单的作业居然写了一下午,我也是醉了。看来下次要调整好状态再写作业了QAQ。先看实验要求:后三道题懒得写了,就不发要求了/滑稽。代码(附带详细注释):import java.util.*;public class Main { /* * 这次作业有点多,居然写了一下午 * 中间收了条信息,突然...原创 2018-10-04 17:47:38 · 231 阅读 · 0 评论 -
leetcode 4 Median of Two Sorted Arrays
这道题挺有趣的。我百度了一个思路就是,写一个find函数,可以寻找第k大的数,复杂度是log(k).思路就是,要寻找第k大的数,每次在两个数组的其中一个中杀掉k/2个数就行了。 public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n=nums1.length; int m=...原创 2018-10-15 09:41:10 · 178 阅读 · 1 评论 -
理解java线程的中断(interrupt)
转自https://blog.csdn.net/canot/article/details/51087772一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果比如会带着自己所持有的锁而永远的休眠,迟迟不归还锁等。 所以你看到Thread.suspend, Thread.stop等方法都被Deprecated了那么不能直接把一个线程搞挂掉, 但有时候又有必要...转载 2018-07-15 19:19:18 · 173 阅读 · 0 评论 -
HPU多校题-A 又是斐波那契数列??
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=0这道题对JAVA选手非常友好,JAVA里面有大数可以直接调用,而且也有写好的二分查找:import java.math.*;import java.util.*;public class Main { public static void main(String[] arg...原创 2018-07-29 15:50:01 · 270 阅读 · 0 评论 -
数据结构-串-StringBuffer基本操作(JAVA)
StringBuffer和String类的区别是StringBuffer中的数组有缓冲,所以不需要每次进行插入操作都重新申请数组,提高了空间利用效率。这里实现了一些StringBuffer的基本操作(几个构造方法,查入和删除操作)。public class MyStringBuffer implements Serializable{ private char value[]; ...原创 2018-07-20 16:44:36 · 718 阅读 · 0 评论 -
几个排序算法(Java实现)
转自点击打开链接选择排序:背景介绍: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 ----- 来自 wikipedia算法规则: 将待排序集合(0...n)看成两部分,在起始状态中,一...转载 2018-07-08 18:50:03 · 165 阅读 · 0 评论 -
数据结构-线性表-顺序表(JAVA)
暑假打算学一下数据结构,顺序表这个东西看着思路这么简单,没想到实现起来却有这么多细节。首先声明一个接口,包括线性表所有需要的方法。这是线性表的基本部分。public interface List<T> {boolean isEmpty(); //判断是否为空int size(); //线性表元素个数(长度)T get(int i); //返回第i...原创 2018-07-16 15:04:04 · 770 阅读 · 0 评论 -
写的JAVA第一个小游戏2048
几个月之前写的,没有太好的注释也不是太完善,就这样吧现在大一快结束了,以后也想做游戏呢加油//----------------------------------------import javax.swing.*;import java.awt.*;import java.awt.event.*;public class King1 extends JFrame { private Contai...原创 2018-06-08 18:40:59 · 1754 阅读 · 2 评论 -
JAVA多线程-synchronized的作用
在多线程运行中,两个程序如果同时调用一个资源,会容易出现错误,如下面代码:一个图书管理账单。class Booking{ private int amount=90; public void sale(int num){ if(num<=amount){ System.out.println(" 预定 "+num+" 件 "); try{ Thread....原创 2018-07-16 21:39:09 · 248 阅读 · 0 评论 -
数据结构-顺序排序表(JAVA)
顺序排序表只是继承了顺序表,改变了里面一些内容。另外可以把search函数做一下优化,改为二分查找。https://blog.csdn.net/king8611/article/details/81065297这是昨天写的顺序表,顺序排序表就是继承这个,其中需要重载的函数有insert相关的函数,set函数变为不可用函数。然后可以把search函数优化一下。public class ...原创 2018-07-17 16:59:38 · 1355 阅读 · 0 评论 -
HDU-3549
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549这道题应该算是一道模板的最大流了吧,可是网上看了很多C++的最大流模板,理解起来有困难,又很少有JAVA的最大流模板,于是找了个简单点的自己写了下,然后过了。可能输入量有点大,Scanner输入是超时的,只能用io输入。import java.io.*;import java.ut...原创 2018-07-23 17:21:25 · 427 阅读 · 0 评论 -
数据结构+单链表(JAVA)
单链表的实现还是很基础的,首先写个节点类:public class Node<T> { public T data; public Node<T> next; public Node(T data,Node<T> next){ this.data=data; this.next=next; } public Node(){ this(nul...原创 2018-07-18 15:50:42 · 894 阅读 · 0 评论 -
数据结构-单链表的逆转
单链表的逆转是指除了头结点外,要把开始的节点的指向逆转一下。https://blog.csdn.net/king8611/article/details/81099344这是刚才写的单链表,没有反转函数。因为单纯反转会出现节点损失,所以这里需要用到中间节点储存一下,最后头结点再指向尾节点就行了。 public void reveser(){ //单链表的反转 Node&...原创 2018-07-18 17:09:43 · 975 阅读 · 2 评论 -
数据结构-栈(JAVA)
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。(百度百科) 栈能解决很多经典问题,比如括号配...原创 2018-07-25 11:38:07 · 320 阅读 · 0 评论 -
Java 流(Stream)、文件(File)和IO
出处:https://www.cnblogs.com/flyins/p/5746196.html[---------------------Stream-----------------------]首先,流是什么?流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。[左图]流具有方向性,至于是输...转载 2018-07-19 21:47:08 · 312 阅读 · 0 评论 -
数据结构-栈解决表达式求值
栈可以用来解决表达式求值问题,其原理是先把字符串从中缀表达式转化为后缀表达式,然后求值。其中的栈我用的式自己实现的:https://blog.csdn.net/king8611/article/details/81199061,当然JAVA里也有可以直接调用的栈。中缀表达式转化为后缀表达式函数: public static StringBuffer toPostfix(String ...原创 2018-07-25 18:55:04 · 954 阅读 · 0 评论 -
JAVA异常处理初步学习
JAVA的异常处理的try-catch-finally块: try{ 可能出错的内容 } catch(异常情况1){ 如果错误1执行的内容 } catch(异常情况2){ 如果错误2执行的内容 } ....... finally{ 最后无论如何会执行的内容 }其中catch如果有包括关系,则应该冲上倒下,范围从小到大。有一个很经典的例子就是...原创 2018-07-14 17:13:41 · 209 阅读 · 0 评论 -
JAVA读入挂
盗的 static class InputReader { public BufferedReader reader; public StringTokenizer tokenizer; public InputReader(InputStream stream) { reader = new BufferedReader(new Inp...原创 2018-11-18 20:48:56 · 452 阅读 · 0 评论