
Java
文章平均质量分 75
Java
SVIP_Quanw
I am so vegetable
展开
-
花式计算斐波那契(fibonacci)数列
花式计算斐波那契fibonacci数列关于1. 循环2. 递归3. 带备忘录的递归4. 使用矩阵乘法统一测试下关于斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=1,F(1)=1,F(n)=F(n−1)+F(n−2)(n≥2,n∈N∗) F(原创 2022-02-07 19:07:30 · 839 阅读 · 1 评论 -
协变(Covariance)、逆变(Contravariance)与不变(Invariance)in Scala
协变如果 A 是 B 的子类型,那么 List[A] 就是 List[B] 的子类型使用注释+A,可以使一个泛型类的类型参数 A 成为协变。对于某些类 class List[+A],使 A 成为协变意味着对于两种类型 A 和 B,如果 A 是 B 的子类型,那么 List[A] 就是 List[B] 的子类型。这允许我们使用泛型来创建非常有用和直观的子类型关系Scala 标准库有一个通用的不可变的类 sealed abstract class List[+A],其中类型参数 A 是协变的。......原创 2022-08-09 19:40:29 · 727 阅读 · 0 评论 -
Flip Game (不太暴力的解法)
Flip Game1. 大概题意2. 不太暴力的思路3. 代码3.1 C++3.2 Java前一篇暴力解法 (链接)1. 大概题意翻转游戏是在一个 4x4 的方形场地上进行的,在其 16 个方格中的每一个方格上都放置有两个面的棋子。每个棋子的一面是白色的,另一面是黑色的,每个都是黑色或白色的一面朝上。每轮你翻转 3 到 5 块,从而将它们上侧的颜色从黑色变为白色,反之亦然。每轮都根据以下规则选择要翻转的棋子:1.选择 16 个中的任何一个。2.将选定的棋子以及所有相邻的棋子翻转到所选棋原创 2022-05-23 22:22:19 · 1206 阅读 · 0 评论 -
POJ1753 Flip Game(位运算+枚举+深搜回溯)
POJ1753 Flip Game1. 大概题意2. 思路&做法(位运算+枚举+深搜回溯)3. 全部代码3.1 C++ 代码3.2 Java 代码 (稍有不同)1. 大概题意翻转游戏是在一个 4x4 的方形场地上进行的,在其 16 个方格中的每一个方格上都放置有两个面的棋子。每个棋子的一面是白色的,另一面是黑色的,每个都是黑色或白色的一面朝上。每轮你翻转 3 到 5 块,从而将它们上侧的颜色从黑色变为白色,反之亦然。每轮都根据以下规则选择要翻转的棋子:1.选择 16 个中的任何一个。原创 2022-05-22 18:22:12 · 580 阅读 · 0 评论 -
字符串匹配 KMP BF
字符串匹配 KMP BF字符串匹配?BFKMP字符串匹配?简单的说就是: 给定两个字符串S, T 在主串S中找到模式TBFC++代码/** * @brief brutal force 暴力 * * @param str 字符串 * @param pat 模式 * @return int 首字母下标或-1表示没找到 */int bf(string str, string pat) { for (size_t i = 0; i < str.length(); i++) { s原创 2022-04-19 21:32:48 · 728 阅读 · 0 评论 -
二叉堆 ( 数据结构 )
二叉堆0. 相关概念1. 结构2. 遍历3. 建堆3.1. 最大堆 ( 大顶堆 )3.2. 最小堆 ( 小顶堆 )4. 堆排序5. PriorityQueue0. 相关概念二叉堆 : 用数组储存的完全二叉树完全二叉树 : 二叉树,且除最后一层外,每一层都是填满了的,最后一层从第一个节点开始依次向右增加节点最大堆 : 父节点值大于等于任意一个子节点的值最小堆 : 父节点值小于等于任意一个子节点的值堆化 : 使得任意子树都是堆1. 结构2. 遍历根节点下标: 0节点i的:父节点下原创 2022-04-18 22:51:22 · 460 阅读 · 0 评论 -
Java ForkJoinPool 实现异步计算
ForkJoinPool 实现异步计算前言使用ForkJoinPool二者比较前言假设我们要计算一个未经优化的 Fibonacci 数可以简单的写出以下代码: static long fib(long n) { if (n <= 2) return 1L; return fib(n - 1) + fib(n - 2); }使用ForkJoinPoolclass Fib extends RecursiveTask<原创 2022-04-17 12:32:15 · 549 阅读 · 0 评论 -
我的代码规范 ( Java )
Java代码规范1 标识符1.1 对所有标识符都通用的规则1.2 标识符类型的规则1.2.1 包名1.2.2 类名1.2.3 方法名1.2.4 常量名1.2.5 非常量字段名1.2.6 参数名1.2.7 局部变量名1.2.8 类型变量名1.2.9 驼峰式命名法(CamelCase)1 标识符1.1 对所有标识符都通用的规则标识符只能使用ASCII字母和数字,因此每个有效的标识符名称都能匹配正则表达式\w+。在Google其它编程语言风格中使用的特殊前缀或后缀,如name_, mName, s_nam原创 2022-04-15 20:53:36 · 382 阅读 · 1 评论 -
VS Code配置Java万能环境
VS Code 配置Java开发测试环境关于开始之前配置Java 环境配置 VS Code正式开始关于用了一段时间VS Code写Java, 才发现原来VS Code这么腻害????本文会不断更新,解锁分享VS Code写Java等的用法????开始之前下载JDK : Oracle JDK.下载VS Code : Visual Studio Code会用到的jar包 : https://pan.baidu.com/s/1ytDNexEQbCrvtjmb4FYKoA 提取码:q4t5配置J原创 2022-02-10 21:42:19 · 3322 阅读 · 0 评论 -
超详细Ubuntu Linux安装配置 Tomcat
Ubuntu 安装配置Tomcat1. 开始之前2. 安装 Java3. 安装 Tomcat1. 开始之前Tomcat是一个基于Java的软件, 安装Tomcat之前需要先安装Java然而Java又分为OpenJDK 和 Oracle Java二者都差不多,但是OpenJDK 安装比较方便这里安装版本选择open-jdk8 和Tomcat 8.5 ,为什么不选用高版本的?因为高版本的坑太多, 我也装过Graalvm 22 + Tomcat 10.0,结果问题多多,回过来想想其实Tomcat 8.5原创 2022-02-12 22:53:16 · 18293 阅读 · 11 评论 -
Java笔记--实时更新
Java一学期复习前言一、Java开发入门1.1 Java概述1.2 JDK, JRE, JVM二、Java编程基础2.1 基本语法2.2 数据类型2.2.1八种基本数据类型2.3 运算符2.4 选 择结构2.5 循环结构三、面向对象四、常用类五、集合六、I/O流七、GUI八、JDBC九、多线程总结前言学了一学期Java了现在开始复习吧一、Java开发入门1.1 Java概述Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言原创 2022-01-08 18:16:46 · 1253 阅读 · 1 评论