自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 html5简单实现拖拽上传文件(直接上代码)

拖拽上传文件

2022-02-20 22:42:55 1044

原创 oracle存储过程笔记

oracle存储过程笔记

2021-12-23 11:22:46 270

原创 Java EXCEL工具类

package com.shooin.config;import com.shooin.common.BizException;import com.shooin.model.vo.ImportTagVo;import io.swagger.annotations.ApiModelProperty;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.apache.po.

2021-04-02 16:39:14 314

原创 每日算法--多线程顺序执行

/** 问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。 要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWS SDK库函数] 接口说明: 线程1,2,3,4按顺序向该数组赋值。 输入描述: 本题含有多个样例输入。 输入一个int整数 输出描述: 对于每组样例,输出多个ABCD */public ..

2021-02-06 23:04:59 174

原创 每日算法--输入n个整数,找出其中最小的K个数(双端队列、栈辅助:空间复杂度较低)

/** * 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 * 维护一个双端队列按从小到大的顺序存放最小的K个数字 * 遍历原始数组, * 小于队列中的最小值,后端入队,大于于队列中的最大值,前端出队。队列长度大于k 剔除最大值 * 小于最大值且大于最小值,最大值出队,再维护队列顺序。 * 需要注意:k的判断;值相等的时候处理方式;k大于数组长度时直接给空(题意不明);k等于1时需要做特殊处理 * */publi.

2021-02-04 11:21:25 302

原创 每日算法--农夫约翰运输牛(贪心算法)

/** * 农夫约翰去砍柴,像往常一样留下了N头(2≤N≤10万头)牛在吃草。当他回来时,他惊恐地发现那群牛正在他的花园里吃他美丽的花。为了尽量减少后续损失,FJ决定立即采取行动,将每头牛运回各自的谷仓。 * 每头牛i在距离它自己的谷仓Ti分钟(1≤Ti≤2,000,000)的位置。此外,在等待运输时,她每分钟会破坏Di(1≤Di≤100)朵花。无论他如何努力,FJ每次只能将一头牛运回牛棚。将奶牛i移动到它的谷仓需要2×Ti分钟(Ti到那里,Ti返回)。FJ从花圃出发,把牛送到牛棚,然后走回花丛,不需.

2021-02-04 00:36:16 830

原创 每日算法 -- 最长公共子串

package 牛客;/** * 最长公共子串 * 题目描述 * 给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。 * 示例1: * 输入 "1AB2345CD","12345EF" * 返回值 "2345" * 核心思路:(动态规划) * */public class NC127 { /** * 自己动态规划求解法超时 * 重复比较,耗时严重 */ public static Stri.

2021-02-02 00:11:45 121 2

原创 每日算法--打印出该字符串中字符的所有排列

/** * 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 * 输入描述: * 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 * * 核心思路:(递归) * 把字符串拆成字符数组; * 求解所有字符能重排的新的字符; * 只需要交换字符数组中每个字符的位置,每交换一次或多次,组成一个新的字符串; * 去重重复的字符串 * 字符.

2021-02-01 02:22:16 407

原创 每日算法——贪心算法(一)

/** * 假设你有一个数组,其中第\ i i 个元素是股票在第\ i i 天的价格。 * 你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。 * 核心思路:(贪心算法) * 这题实际上是在求 max(arr[i]-arr[j]) , i<j; * 可利用贪心的思路维护在范围内最小即可 * */public class NC7 { public static int maxProfit (int[] prices) { .

2021-01-30 22:34:09 122

原创 每日算法--回文链表

/** * 给定一个链表,请判断该链表是否为回文结构。 * 思路: * 前半段压入栈,判断后半段是否相等 * 注意链表奇数与偶数,奇数中间节点跳过 */public class NC96 { public static boolean isPail (ListNode head) { //链表长度 if(head==null||head.next==null){ return false; } .

2021-01-29 21:57:58 56

原创 每日算法--链表重排

/** * 将给定的单链表L: L_0→L_1→…→L_{n-1}→L_n * 重新排序为:L_0→L_n →L_1→L_{n-1}→L_2→L_{n-2}→… * 要求使用原地算法,不能改变节点内部的值,需要对实际的节点进行交换。 * 例如: * 对于给定的单链表{10,20,30,40},将其重新排序为{10,40,20,30}. * * 核心思路: * 链表折半分为两段, * 后面一段反转 * 同时遍历两个链表交叉插入 * */public class NC50 { .

2021-01-28 22:21:18 187

原创 每日算法--链表反转

/** * 输入一个链表,反转链表后,输出新链表的表头。 * 思路:注意头尾节点的处理 */public class NC78 { public ListNode ReverseList(ListNode head) { if(head==null||head.next==null){ return head; } ListNode tail = head; ListNode current = .

2021-01-28 21:35:11 58

原创 每日算法--合并两个有序列表

/** * 将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的,且合并后新链表依然有序。 * 思路: * l1为空返回l2,l2为空返回l2 * 都不为空,定义一个头节点,循环比较两个列表的大小,小的拼接到头结点,并拆除当前节点 * */public class NC33 { public ListNode mergeTwoLists (ListNode l1, ListNode l2) { if(l1==null){ .

2021-01-28 21:33:59 128 1

原创 复杂链表复制

/*** * 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点), * 返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) * * 核心思路: * 复制链表中每一个节点,插入到被复制节点后面 * 维护复制节点的随机指针,该指针指向被复制节点随机指针指向的下一个节点 * 拆分复制节点和原来的节点 */public class ListCopy { public sta.

2021-01-27 23:10:12 58

原创 找链表环入口

/** *对于一个给定的链表,返回环的入口节点,如果没有环,返回null * 拓展: * 你能给出不利用额外空间的解法么? * 核心思路:(快慢指针) * 定义一个快指针每次走两步 * 定义一个慢指针每次走一步 * 快慢指针相遇则一定在环内,且方向相反 * 相遇后慢指针从头开始走,快指针继续走每次只走一步,最后快慢指针相遇一定是入口 * 具体计算参考(https://blog.csdn.net/qq_45731021/article/details/112307606?utm_mediu.

2021-01-26 22:58:01 76

原创 每日算法--删除链表的倒数第n个节点并返回链表的头指针

/** * 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 * 例如, * 给出的链表为:1->2->3->4->5, n= 2. * 删除了链表的倒数第n个节点之后,链表变为1->2->3->5. * 备注: * 题目保证n一定是有效的 * 请给出请给出时间复杂度为\ O(n) O(n)的算法 * * 核心思路:(双指针) * 定义两个指针,刚开始分别指向头结点,然后先让一个指针先走n-1步,接着两个指针同时遍历链表, * 当.

2021-01-26 00:05:34 161

原创 每日算法--牛客螺旋矩阵

import java.util.ArrayList;/*** * 给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。 * 示例1 * 输入 * 复制 * [[1,2,3],[4,5,6],[7,8,9]] * 返回值 * 复制 * [1,2,3,6,9,8,7,4,5] * * 核心思路: * 把一次行遍历加一次竖遍历定义一个子问题, * 定义每次遍历的下标规则 * 定义每次遍历的移动方向 * 分治理法解决子问题 * */public c.

2021-01-25 00:23:27 132

原创 合并二叉树

/*** * 已知两颗二叉树,将它们合并成一颗二叉树。 * 合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。例如: * 两颗二叉树是: * Tree 1 * 1 * / \ * 3 2 * / * 5 * * Tree 2 * 2 * / \ * 1 3 * \ \ * 4 7 * * 合并后的树为 * 3 * / \ * 4 5 * /.

2021-01-24 01:43:07 132

原创 二叉树序列化反序列化(按层序列化)

import java.util.ArrayDeque;import java.util.Queue;/*** * 二叉树序列化反序列化(按层序列化) * #表示null节点,!表示节点分隔符 */public class BinaryTreeSerialByLevel { public static String serializ(TreeNode root){ if(root==null){ return ""; } .

2021-01-22 23:19:04 96 1

原创 二叉搜索树

/** * 二叉搜索树(算法导论) * 实现 遍历、查询、新增、删除、最大值查找、最小值查找、获取后继节点 */public class SearchBinaryTree { /** * 中序遍历所有节点 * 伪代码: * INORDER-TREE-WALK(x) * if(x != NIL) * INORDER-TREE-WALK(x.left) * print x.key * INO.

2021-01-21 23:28:19 55

原创 二叉树遍历递归和非递归实现

import java.util.ArrayList;import java.util.Collections;import java.util.Stack;/** * 二叉树的前、中、后三种遍历方式递归实现和非递归实现 * 二叉树的序列化与反序列化 */public class PrintTree { //前序遍历递归 public static ArrayList<Integer> preRecursive(ArrayList<Integer>.

2021-01-20 20:59:01 49

原创 二叉树层遍历(双队列实现)

import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Queue;import java.util.Stack;/** * 按层打印二叉树 * 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) * *核心思路1(两个栈实现): * 定义两个栈 * 将根节点放入第一个栈(标记为上层节点),last标记上层的最后一个节点 * 将第上层队列的子节点依次放入第二个栈(标记为下层.

2021-01-20 00:04:00 182 1

原创 每日算法--华为真题

import java.util.Arrays;import java.util.Stack;public class StackImpl { /** 给定一个整数数组 asteroids,表示在同一行的行星。 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。 找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移.

2021-01-19 20:09:04 125

原创 每日算法--重建二叉树

/** * * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 * 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 * * 核心思路: * 二叉树的前序遍历顺序是:根节点、左子树、右子树,每个子树的遍历顺序同样满足前序遍历顺序。 * 二叉树的中序遍历顺序是:左子树、根节点、右子树,每个子树的遍历顺序同样满足中序遍历顺序。 * 前序遍历的第一个节点..

2021-01-18 21:46:30 84

原创 每日算法

import java.util.Scanner;/** * 输入13张牌[2 3 4 5 6 7 8 9 10 J Q K A]中的任意16张牌,检查组成顺子的条数。 * 顺子组成规则: * a、从3开始,任意连续的牌例如:[3 4 5 6 7]\[ 4 5 6 7 8 9 10]\[10 J Q K A] 都可以组成顺子 * b、2不能组成顺子 * c、多个顺子换行输出 * 输出所有顺子 * * 核心思路:计数排序,计数大于0转换成对应的牌,计数小于0转换成空格,按空格拆分字符串,字.

2021-01-17 12:06:10 177 2

原创 oracle表分区学习整理

什么时候需要分区1.1数据表大于2g,优化数据查询、数据新增性能;1.2新旧数据使用频率不同,旧数据存储到固定分区便于维护。分区键限制2.1一个或者多个字段来确定哪个分区;2.2不能LEVEL、ROWID等字段;2.3不能NOTABLE。分区表类型3.1范围分区(Range Partition)CREATE TABLE time_range_sales(...

2020-02-23 16:11:19 88

原创 Oracle归档日志清理(AIX)

1.oracle数据库管理员登陆AIX服务器2.指定数据库实例$export ORACLE_SID=实例名称3.进入RMAN$rman4.连接数据库RMAN>connect target sys/password5.查看归档日志状态RMAN>list archivelog all6.root用户重新登陆服务器,根据归档日志状态找到日志文件目录删除日...

2020-02-23 16:08:50 512

springboot-layui调用文件服务器接口实现文件上传下载.docx

springboot-layui 调用外部文件服务器实现上传下载功能

2021-05-08

空空如也

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

TA关注的人

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