自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 问答 (1)
  • 收藏
  • 关注

原创 我有点懵~~

工作2~3年之后应该具备的能力:高并发、分布式、微服务、大型网站技术

2020-03-17 17:50:21 204

原创 ReferenceError: primordials is not defined

自己没搞定,让大佬同事帮忙看一了下并顺利解决。这个属于启动前端项目时包依赖版本不一致问题,这里凭借记忆记录一下当时解决问题的过程,细节可能不太准,思路大致时没问题的。 官网也知道这个错误,并且提示:you need to use an earlier version of Node (pre-12),意思是现在你的node的版本太高,应该使用12版本之前的。我现在...

2020-03-13 19:18:25 31424 3

原创 n皇后

1)回溯法,超时/** * n皇后问题 * 每一行每一列,同一斜线上不能出现2个皇后 * 解题思路: * 回溯法 * 每列只能放1个皇后,每列就有n种方法,n列一共就是n^n种方法,这么多方法种可定包含了所有n皇后的解。当第一列放一个皇后的时候,就会产生一颗解空间树,由此树的第二层会有n个节点,第三层会有n*n个节点... * 树的第n层会有n^n-1个节点,,这样就构成了一颗解空

2017-09-03 09:54:42 405

原创 硬币表示

1)输入最大情况100000 ,本地IDE运行时间大概在 2093毫秒,在线编辑器要求在3秒内,但是总是提示超时/** * 硬币表示 * 题目描述:4种硬币,币值分别为 1 5 10 25 给定n,使用这些币种来表示n,求最对的表示方法 * 思路完全套用0-1背包问题,动态规划 * 讨论使用到第i种币表示j分时,能够表示的最多方法数量,涉及到2个自变量,使用二维数组维护讨论结果max

2017-09-01 14:30:40 304

原创 最长上升子序列的长度

1)/** * 最大上升子序列的长度 * 给定一个无序的序列,求其最大上升子序列的最大长度 * 子序列要为上升并且长度最长 * 思路: * 序列一共k个点,{a1, a2, ..., ak} 以每个点为终点,这样就有k个状态,分别讨论它们的最长上升子序列,然后取最大的情况 * 维护一个一维数组maxLen[k],表示以序列元素{ak}为终点时的最长上升子序列 * 递推公式: *

2017-09-01 09:45:00 635

原创 最公共长子序列的长度

/** * 动态规划 * 最长公共子序列 * 给定2个字符串 s1, s2, 求2个串的最大公共子序列,子序列的字母能在2个串中找到,并且顺序相同 * 解题思路: * 求解子问题.写出递推公式 * maxLen(i, j)表示s1左边的i个字符组成的序列和s2左边的j个字符组成的序列的最大公共子串的长度 * 讨论边界条件: * maxLen(i,0) = 0 * maxLen(0

2017-08-31 18:17:38 348

原创 动态规划(三角形求路径最大和)

//递归求法,写递推公式/** * 动态规划 * 给定一个三角形,求一条从顶部到底部的路径,这条路径所有元素和最大,输出最大值 */package dp;import java.util.Scanner;public class Main { /** * 7 * 3 8 * 8 1 0 * 2 7 4 4 *

2017-08-31 15:42:31 3659

原创 0-1背包问题(二维数组动态规划)

/** * 0-1背包问题 * 背包的总容量为c * 有n个物品,体积为v[i],价值为w[i] * 求在背包能装进去的前提下,能装入的最大价值,和装入物品的编号 */public class Main { public static void main(String[] args) { int []w={2,2,6,5,4}; //物品重量 int []v

2017-08-31 12:15:27 1634

原创 0-1背包问题(采药)

import java.util.Scanner;/** * 0-1背包问题(采药问题) * 问题:在规定时间t内,采摘总价值最大的草药,并输出最大总价值(草药一共m颗) * 输入 * 第一行:t m (能够采药的总时间t, 山洞里共有的草药株数) * 接下来m行: * time price * time price * ... * 即每颗草药需要采摘的时间time 每颗草药的

2017-08-30 17:31:20 1002

原创 字母编码

读懂别人的思路,然后自己写一遍题目描述假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index为0,aa的Index为1,aaa

2017-08-29 17:12:12 668

原创 袋鼠过河

题目描述一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能

2017-08-29 14:58:39 974 1

原创 队列(JAVA)

使用2个栈模拟队列的功能import java.util.Stack;/** * 使用2个栈模拟队列 * 队列:先进先出 * 栈:先进后出 * 根据2着特性就可以直到用2个栈可以模拟一个队列 * 一个栈做插入栈,一个栈做弹出栈,弹出的时候,将插入栈的元素依次出栈,入栈到弹出栈中,这时弹出栈的顺序是: * 先进插入栈的在弹出栈栈顶,那么依次将弹出栈的元素出栈,就可以实现先进先出了

2017-08-28 11:41:31 279

原创 栈(JAVA)

使用内置的栈实现O(1)计算栈的最小元素,即使用一个栈记录栈元素,一个栈记录当前栈的最小元素,以空间换时间import java.util.Stack;/** * 栈 * @author yinming.yu * */public class Main { public static void main(String[] args) { // TODO Auto-gene

2017-08-28 11:39:57 221

原创 冒泡排序(JAVA)

/** * 冒泡排序 * 思路: * 每次都从元素的第一个开始,两两比较,把较大的元素放在后面,一直到与无序序列的最后一个比较完,就确定了该无序序列的最大值 * 这样能依次确认最大,次最大等元素,直到剩下一个元素为止,停止冒泡 * 需要比较n-1趟,每趟需要比较n-1-i * */public class BubbleSort { public static void main

2017-08-28 09:51:45 218

原创 选择排序(JAVA)

/** * 选择排序 * 思路: * 1)从序列的第一个开始,后面的元素依次和第一个元素比较,交换较小的元素放在第一个位置,直到序列的最后一个元素比较完,就确定了序列的最小项 * 2)接着从序列的第二个元素开始,重复上边步骤,直到序列只剩下一个元素为止(最后一个元素不需要比较,因为倒数第二个为止的确认就已经说明了其大于倒数第二个元素) * 一共比较n -1趟,每趟比较n-1-i次(i为趟

2017-08-28 09:38:17 581

原创 堆排序(JAVA)

看了几篇博客,以自己的理解默写了一遍自己理解的堆排序,然后本地跑了一遍,可以正常排序,因为怕以后看不懂,注释写的很啰嗦/** * 堆排序 * 堆一般指一个完全二叉树,根据其特性,可以分为大根堆,小根堆 * 大根堆:任意父节点的值大于或等于2个孩子节点的值 * 小根堆:任意父节点的值小于或等于2个孩子节点的值 * 就是利用堆的这样的特性用来排序,所以叫做堆排序 * 比较常用的就是大根

2017-08-28 00:47:44 196

原创 希尔排序(JAVA)

/** * 希尔排序: * 1)从第一个元素开始,以一个增量的间隔进行插入排序,然后从第二个元素开始,以同样的增量为间隔进行插入排序,直到间隔被用完为止(因为间隔用完之后,下一个元素就会与第一个元素的排序重复了) * 2)然后换一个比较小的增量,重复1) * 3)直到增量为1,即普通的插入排序,(以1的增量进行插入排序,因为间隔内没有其他元素可以再次进行排序,所以一趟排序就好了,根普通的插

2017-08-27 19:40:23 262

原创 插入排序(JAVA)

/** * 插入排序 * 思路: * 序列的第一个数,它可以看成是一个有序的序列,然后从序列的第二个数开始,依次插入前边的有序序列,使其依然有序, * 直到最后一个数插入完成,整个序列就是一个有序序列了 * */public class InsertSort { public static void main(String[] args) { // TODO Auto-gen

2017-08-27 17:56:06 212

原创 快速排序(JAVA)

/** * 快速排序 * 思路: * 从右往左找比基准值小的,从左往右找比基准值大的,直到无法再找时,将基准值放在确定的位置上,然后递归排序基准值左边和右边的序列 * @author yinming.yu * */public class QuickSort { public static void main(String[] args) { // TODO Auto-gen

2017-08-27 12:54:17 230

原创 并归排序(JAVA)

/** * 并归排序 * 思路:首先使序列的每个子序列都有序(将序列打散成n个单个的序列,那么每个子序列必然有序),然后逐个二路并归,使子序列段间有序, * 不断并归,最终使真个序列有序 * 过程: * 给出一个无序的序列 * 1)如果序列的长度 <= 1,那么就不需要对序列进行排序 * 2)如果序列的长度 >= 2, 对他的左半边进行递归排序,对他的右半边进行递归排序 * 3)此

2017-08-27 12:03:14 339

原创 单链表总结(JAVA)

总结了一下网上的常用链表操作(JAVA),然后每个操作都在自己本地跑过一遍,然后会自己写几个自己想到的链表操作,例如删除回环链表中的节点,以后就直接看自己整理的链表操作就可以拉import java.util.ArrayList;import java.util.List;import java.util.Stack;public class LinkedList { public

2017-08-26 10:52:57 519

原创 二叉树总结(JAVA)

自己去搜了一些关于二叉树常见的算法(java实现),在自己理解的基础上默写一遍,然后在IDE跑了一遍,便记录下来。import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;public class

2017-08-24 11:36:01 348

原创 git操作之ssh与https互换

git ssh 与 https 互换我的情况是原本使用ssh,但是ssh突然使用不了,需要跟换https步骤:1)修改远程仓库地址方法有三种:1.修改命令git remote set-url origin [url]我这里使用 git remote set-url origin [url]命令,直接修改远程仓库为https的地址2.先删后加

2017-08-23 12:14:16 12310 1

原创 java获取键盘输入流

import java.io.*;import java.util.*;import java.util.Map.Entry;public class Main{ public static void main(String args[]) { Scanner cin = new Scanner(System.in); int a = 0,

2017-08-20 10:09:53 1838

原创 单点登录笔记

单点登录:    用户访问子系统资源,子系统判断用户是否建立了局部会话    1)如果已经建立了局部会话,那么就表示已经登录过了,允许访问资源    2)如果没有建立局部会话,那么需要知道用户是否建立了全局会话,这时向sso认证中心发起请求以证明是否该用户建立了全局会话,并将自己的地址作为参数。    3)sso认证中心发现用户已经建立了全局会话,那么sso认证中心带着令牌跳转到穿

2017-07-06 19:47:13 1051

原创 为什么要面向接口编程

接口描述:接口,即对实现类的一种规范,当一个具体实现类实现这个接口的时候,应当实现接口所定义的所有规范。那为什么要面向接口编程呢?答案和使用spring是一样的,降低代码耦合度,提高克扩展性,即规范与实现分离。

2017-07-02 10:58:42 4419

原创 为什么要使用Spring

提高解耦,增强可扩展性分析:         当我们使用某个功能组件的时候,我们直接创建这个功能组件会出现什么问题?  当这个功能组件很简单的时候,我们直接创建并使用它确实很简单明了,但是软件开发本来就是一个不断扩展的过程,本来很简单的功能组件随着时间的推移,它将会越来越复杂,这个时候当我们需要使用这个组件的时候,还适合直接去创建并使用它吗?答案当然是否定的。原因如下:   当

2017-07-02 01:56:48 726

原创 javascript笔记

#js 获取元素所有兄弟节点实例(不包括自己) function siblings(elm) { var a = []; var p = elm.parentNode.children; for(var i =0,pl= p.length;i<pl;i++) { if(p[i] !== elm) a.push(p[i]); } return a; }

2017-06-29 15:18:55 341

原创 下拉框实现只读状态

设置为只读状态有几种方式1.readonly 2.disabled 但是不能把数据提交到后台以上2种方法只适用于输入框,下来框只读状态没有设置为只读的属性,所以只能用js实现了,下边是在网上找的方法onfocus="this.defaultIndex=this.selectedIndex;" onchange="this.selectedIndex=this.default

2017-06-22 20:54:33 11190 1

原创 IDEA导入maven项目

一直觉得maven有点麻烦,知道使用IDEA导入项目才发现简单到爆炸跟上篇博客导入没多大差别import project --> import project from external model(只有这样才能选择mavdn项目) --> 一路next --》 这里我们无需配置项目,直接把项目配置到tomcat中去就可以了,自动解决依赖感觉特别方便!!

2017-06-21 22:07:25 13822

原创 idea导入git 的 web 项目(一般的web项目)

开始用IDEA啦~~(jdk,maven,tomcat,idea,git,ssh默认都已经装好)1.使用命令行将git项目clone下来1.1 新建文件夹(IDEA),用作idea所有的项目所在地1.2 在上边的文件夹中新建文件夹(test), 用作本项目的代码存放地1.3 git clone "本地test文件夹路径" “git服务器路径”1.3 切换自己的分支 git

2017-06-21 20:36:45 11329

原创 jdbcTemplate使用的简单笔记

jdbcTmeplate的使用其提供了增、删、改、查的方法仔细说一下查询过程,其他的都差不多单个查询:1.他们都可以在sql中把参数写死 select * from table where id = 1;2.但是如果要动态拼接参数的时候,jdbcTemplate提供了简单的接口来实现 在写sql的时候: select * from table where id = : id an

2017-06-07 19:25:42 604

原创 jquery常用笔记

jquery笔记 开发步骤 1)导入juery库 2)在 $(function(){}) 中的{}中写进 jQuery代码 ----(1) ----(2) $(function(){ $('#btn1').click(function(){ $(":text:enabled").val("赋值"); }); }) 3) jQue

2017-06-07 19:22:11 374

原创 POI笔记

在使用POI进行EXCELL操作的时候遇到一些问题,记录一下1.导入的时候,对于纯数字的单元格,我们又希望以文本的形式读入内存,那么在读取数字文本之前,我们先把单元格的格式转换成文本类型的再读就行 FileInputStream fileIn = new FileInputStream("文件路径); XSSFWorkbook wb0 = new XSSFWorkbook(fileIn)

2017-05-16 12:47:26 407

原创 prepareStatement与statement的区别

2次面试2次被问到这个问题,都不太会,学习记录一下1.prepareStatement一次预编译,可以多次执行prepareStatement在执行sql的时候会进行预编译,将将预编译的结果放入缓存,当下一次执行相同类型的sql的时候,直接将参数参数传进缓存旧可以得到执行,不需要编译。statement每次执行sql的时候都会进行编译。在进行批量处理的时候,效率没有上边的高2.安全

2017-04-07 20:31:46 583

原创 post与get的区别

一直没有特意去弄明白post与get的请求,今天一个电话面试问到了这个问题,当时的回答是:仅是请求参数的放置在http报文位置不同,一个可以在浏览器里看见请求参数,一个看不见。但是感觉答的不是很好,请求报文的结构也不清楚,于是学习了一下,记录下来。1.http报文分请求报文和响应报文,他们结构大体都是三部分,我对比着说   请求报文   响应报文(请求行)(状态行)(请求头)

2017-04-07 20:08:31 250

原创 java 二叉树的构建 先序、中序、后序遍历

package com.yym.leetcode;import java.util.ArrayList;import java.util.List;public class BinTreeTraverse { public int[] vals = {1,2,3,4,5,6,7,8,9}; public static List listNode = new ArrayList();

2017-04-05 10:58:40 234

原创 Tag推送+分支管理

tag推送1.git查看tag的命令是:git tag2.创建Tag 是直接加名字就ok了git tag 名字 –m "注释"3.推送到github,即可以在服务器端查看到推送的tag了git push origin tag名分支推送1.查看分支git branch2.创建分支git checkout –b 名字3.推送分支,即可在服务器端看见新的分支

2017-03-12 21:41:37 452

原创 git的基础使用 clone项目-->本地添加文件-->提交项目

1.在github上新建一个test仓库2.在本地使用git命令行clone github上的项目到指定目录$ git clone git@github.com:yuyinming/test.git "E:\github\Test"3.在本地新建一个文件用来测试: vi test.txt如果有test.txt的文件就打开,没有就创建一个test.txt的文件输入你想写的东西,i 进

2017-03-12 20:47:25 2601

原创 maven创建struts2项目

1.创建一个web项目mvn archetype:generate -DgroupId=com.fkjava -DartifactId=struts2qs -Dpackage=com.fkjava.struts2qs -DarchetypeArtifactId="maven-archetype-webapp" -DinteractiveMode=false2.在struts2qs项目下的pom

2017-03-12 09:16:16 257

空空如也

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

TA关注的人

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