2 Biturd

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 7w+

maven用久后必须了解的phase、goal参数及生命周期概念

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.2.1</version> .

2020-08-11 23:15:40

maven插件 dockefile完整代码配置流程实例

dockerfile 插件 (上面的是docker插件,推荐用这个)前提准备:maven的机器上已经配置好了DOCKER_HOST, 不管是windows还是linuxFROM java:8ARG JAR_FILEADD target/${JAR_FILE} app.jarENTRYPOINT ["java", "-jar", "/app.jar"]setting.xml <server> <id>registry.cn-hangzhou.aliyun

2020-08-11 22:43:49

springboot+jpa快速搭建web项目

1. 设计表idea左面的实体类必须连接一下。[需要idea连接上数据库]2. 实体类package com.biturd.logintest.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;/** * @Program: login-test * @Descripti

2020-08-11 14:51:16

js、Java前端DES加密 后端解密 前后端一致

JS下载库文件,注意一下目录设置。https://github.com/sytelus/CryptoJS<script> function encrypted() { pre_passwd = document.getElementById("password").value var keyHex = CryptoJS.enc.Utf8.parse('12345678'); var later_passwd = CryptoJS.

2020-08-11 14:38:06

Python刷leetcode--107. 二叉树的层次遍历 II

思路:层次遍历一层之前,先定义一个中间队列,并且记录一下,需要遍历多少个节点。可以反转一下list,或者直接用一个栈。先进去的在里面class Solution: def levelOrderBottom(self, root: TreeNode) -> List[List[int]]: if not root: return [] ans = [] que = collections.deque()

2020-08-07 10:16:00

Java 手写线程池

源码:https://github.com/Bit-urd/knowledge-base/tree/master/java-se/src/com/biturd/knowledgebase/thread/pool思路类比数据库连接池。数据库连接池复用的是Connection,池化技术通用的:最小个数、最大个数、活跃时间、线程池容器[核心]:一般为队列。[通用的就不写了,写点特有的]线程池复用的是线程,目的是减少向操作系统申请线程避免上下文切换。正常情况下线程执行完就结束了,就死亡了。无法复用。要.

2020-08-05 11:44:38

Python刷leetcode--72.编辑距离 [DP必看]

编辑距离算法被数据科学家广泛应用,是用作机器翻译和语音识别评价标准的基本算法。最直观的方法是暴力检查所有可能的编辑方法,取最短的一个。所有可能的编辑方法达到指数级,但我们不需要进行这么多计算,因为我们只需要找到距离最短的序列而不是所有可能的序列。class Solution: def minDistance(self, word1: str, word2: str) -> int: # leetcode submit region end(Prohibit modifica

2020-08-03 09:58:25

Python刷leetcode--5.最长回文子串

重点:if tmp > maxLen and s[i] == s[i-tmp+1]:判断最后一位和第一位是不是相等,相等才是回文串。class Solution: def longestPalindrome(self, s: str) -> str:# leetcode submit region end(Prohibit modification and deletion) # 状态数组 dp[n+1][n+1] n = len(s)

2020-08-03 08:32:58

Python刷leetcode--14.最长公共前缀

我的代码:思路横向扫描所有的子串,不断的扩展ans,如果某个字符串越界就直接返回,如果不相等也返回。class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: # leetcode submit region end(Prohibit modification and deletion) length = len(i) ans

2020-08-02 23:59:30

Springboot+Docker+Maven插件

1. 待部署的服务器(生产环境)上配置好远程访问2. maven构建所在的服务器上(或者jenkins容器里),配置好一个host3. pom.xml Maven插件相关配置 <properties> <docker.image.prefix>registry.cn-beijing.aliyuncs.com</docker.image.prefix> <docker.image.midfix>wheatdr-cl

2020-07-31 11:26:09

Python刷leetcode--剑指 Offer 27. 二叉树的镜像(附带树的几种遍历方式)

思路:递归的交换左右子树推出条件:左右子树都为None难点:特殊情况如何处理class Solution: def mirrorTree(self, root: TreeNode) -> TreeNode: if not root: return None return self.recur(root) def recur(self, root: TreeNode) -> TreeNode: #.

2020-07-28 18:36:20

Python刷leetcode--剑指 Offer 14- I、II.剪绳子

感觉有点类似于背包问题,,3是最大的收益先列举一下大概看一下怎么最大 发现 6分为 3 * 3 2 * 2 * 2 3大于2 12分为 3 * 3 * 3 * 3 4 * 4 * 4 3大于4 3以前是大的结果最优 3以后是小的结果最优先按照3分然后 剩下的补2 13 3*3*3*2*2=27*4=108 3*3*3*3*1=81, 然后如果最后剩下1就证明前一轮是个4 分为了 3和1,而2*2收益最大class Solution: def cuttingRope(self

2020-07-17 15:42:53

Python刷leetcode--剑指 Offer 12.矩阵中的路径

python for遍历怎么带下标。enumerate 内置函数递归的大体思路。找到一个然后,深入。不能进入格子两次 这种条件可以通过在当前层改变当前值的方式来避免重入递归的出口。如果四个有任何一个满足就深入,深入 [深入的结果是一个bool值],如果长度相等返回true,因为上一层递归 l+1 了,,这个有点难理解。l表示走过的长度生成的字符串是不是已经相等了回溯法,本层做完操作了 要还原,不能影响其他层from typing import Listclass Solution: .

2020-07-10 00:54:41

传统必会算法--归并排序

/** * @Program: EasyLeetcode * @Description: MergeSort * @Author: Biturd * @Date: 2020-07-07 22:46 */public class MergeSort { public static void main(String[] args) { int[] input = new int[]{ 3, 5, 4, 1, 2 };

2020-07-08 14:52:18

Python刷leetcode--1.两数之和

思路:用hash表存储所有值,存储。然后遍历数组,用target-当前位置的值并在hash表中判断是不是存在。[3,3],6 : 注意数组中有重复元素的情况,后面的会覆盖前面的元素,所以从前到后,然后遍历hash表就行。[3, 2, 4],6 : 这种情况,就需要判断当前下标与hash表中的索引是不是一样。如果一样 就证明一个元素用了两次class Solution: def __init__(self): self.my_set = {} def tw

2020-07-08 14:20:20

传统必会算法--快速排序

指定最后一个元素是privot [遍历前面的与他比较],counter表示雄安与privot的元素的个数,如果当前 i 的值小于privot则 交换counter位置与 i 位置的元素[通过这样遍历完毕则前counter全都小于privot],并且counter++,然后只需要最后一轮交换privot与counter的元素public class QuickSort { public static void sort(int[] input, int begin, int end) {

2020-07-07 21:57:10

Python刷leetcode--剑指 Offer 07.重建二叉树

树的问题需要多往递归上想。然后中序遍历是三种遍历中最关键的遍历。中序遍历找到先序遍历后 先序遍历之后的几个 = 中序遍历左边的几个class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def buildTree(self, preorder, inorder): #

2020-07-05 19:18:20

Python刷leetcode--剑指 Offer 10- II.青蛙跳台阶问题

思路:先递归,再优化递归。拖慢递归的原因是重复的底层计算。所以计算过一次就存起来。每次计算就判断是不是已经计算过了class Solution: def __init__(self): self.val = {} self.count = 0 def numWays(self, n: int) -> int: # leetcode submit region end(Prohibit modification and deletion

2020-07-05 19:10:44

Python刷leetcode--栈模拟队列、队列模拟栈

1.s1负责入队操作2.s2中如果没有元素就从s1中出栈出完,s2再出栈3.处理特殊情况,如果是空队列出队。判断两次是否s2空就行class CQueue: def __init__(self): self.s1 = [] self.s2 = [] def appendTail(self, value: int) -> None: self.s1.append(value) def deleteHead(self) -

2020-07-04 19:46:00

Python刷leetcode--剑指 Offer 04.二维数组中的查找

思路:从右上角开始往左边下边移动。如果从0,0开始,判断一个数如果处于两个数之间了,向下之后还需要向右。两条路[ 右、下 ]都是比当前大的,但是如果是右上角,左边都是小的,下边都是大的,j=1后j=0就肯定不用看了,因为j=0都小于j=1.同理左移的话,右面的数也都不需要看class Solution: def findNumberIn2DArray(self, matrix, target: int) -> bool: # def findNumberIn2DArray

2020-07-04 19:19:01

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。