JAVA
swust_lian
无武
展开
-
JAVA 大数
点击打开链接题意:取石子游戏,两堆石子,两人轮流取,每个人可以从一堆或两堆中取任意相同多个石子,每次至少取一个,最后取完石子的胜。(经典的威佐夫博弈)给出两堆石子数量(1解:威佐夫博弈论:当前石子出现奇异局势,先手输,否则后手输。奇异局势(ak,bk)表示,(akak=[k*(1+sqrt(5))/2] ('[ ]',向下取整),bk=ak+k (k=0,1,2....)原创 2016-11-06 20:01:58 · 264 阅读 · 0 评论 -
java Map/List/Set 嵌套使用的一点心得
public static void main(String[] args) { // TODO Auto-generated method stub Set<Integer> set=new HashSet<Integer>(); List<Set<Integer>>list=new ArrayList<Set<Intege...原创 2018-06-20 15:48:56 · 2677 阅读 · 0 评论 -
排序算法总结
总结一下所学的排序算法。一、冒泡排序从小到大排序,思想:遍历数组,下一个元素比当前元素大就交换,这样经过一轮后,把最大元素排到了最后,经过n-1轮,就把n-1大的元素排到了数组最后,最小值默认就排到了第一个位置。时间复杂度:最坏O(n^2),最好是O(n)(可以用一个标记,第一趟如果没交换,说明数组是有序的),比较次数与原始数组无关。/** * @Title: Bub...原创 2018-07-16 15:37:39 · 309 阅读 · 0 评论 -
java 方法参数传递,值传递与引用传递
一:值传递 使用该方式传递的参数,参数原始的值不发生变化 适用范围:八种基本数据类型(char,byte,boolean,short,int,long,double,float)和String *String也是传递的地址,但是String对象一旦被改变,就是生成新的对象二:引用传递 使用该方式传递的参数,在方法内部修改参数的值时,参数原始的值发生改变 适用范围:...原创 2018-07-04 15:36:47 · 234 阅读 · 0 评论 -
java try-catch-finally 写返回值问题
首先,明确一点:finally 处理使用System.exit(0)强制关闭线程不会执行外,都会执行。(当然,在try{}块之前出现了其他异常或错误不会执行此finally)其次,如果try-catch或者catch-finally都有return,那么finally块中return语句会覆盖别处的return语句。这是因为方法内部的局部变量和对象的引用(注意这里,对象的数据在堆内存中,其引用...原创 2019-08-24 22:37:16 · 265 阅读 · 0 评论 -
LRU java实现
主要实现此算法:使用链表+hashMap实现如有bug,望指正import java.util.HashMap;import java.util.LinkedList;public class LRUCache { // 链表节点 class Node { Node pre; Node next; int key,...原创 2019-09-05 15:01:31 · 163 阅读 · 0 评论 -
Java 继承和多态
class Father { public String notStaticVar = "fa_no_static_var"; public static String staticVar = "fa_static_var"; public static void staticFun() { System.out.println("fa_static_method"); } pub...原创 2019-08-26 14:09:24 · 126 阅读 · 0 评论