- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 ELEMENT-UI使用小TIPS(长期更)
ELEMENT-UI使用小TIPSthis.$nextTickthis.$forceUpdatethis.$refs.tableRef.doLayout()table.keythis.$nextTickthis.$nextTick这个方法作用是当数据被修改后使用这个方法会回调获取更新后的dom再渲染出来this.$forceUpdate强制刷新。使Vue实例重新渲染虚拟DOM。并不是重新加载组件。调用$forceUpdate后只会触发beforeUpdate和updated这两个钩子函数,不会触
2021-05-06 11:31:59 570
原创 自定义二叉搜索树
什么是二叉搜索树?1.定义二叉搜索树类(最基本节点对象Node)public class BinarySearchTree { class Node{ int val; Node left; Node right; public Node(int val) { this.val = val; } } private Node root;}2.Insert方法(LeetCode701)/*** insert* 1.判断根节点是否存在,不
2021-03-02 09:02:03 198
原创 SQL树结构查询部分要点
basic_tableid pid name 1 小红 2 1 小黄 3 1 小绿 4 1 小蓝 5 小紫 6 5 小青 7 5 小黑 8 5 小白 9 8 小小 1.简单的树结构查询select * from basic_table connect byprior id = p_id ; (从上往下查找)select *...
2020-10-10 14:42:49 519
原创 高性能MySQL--高性能的索引策略
正确地创建和使用索引是实现高性能查询的基础。1.独立的列‘独立的列’是指索引列不能是表达式的一部分,也不能是函数的参数。select * from user where id+1 > 5;类似的查询不能正确地使用索引。2.前缀索引通常在待查询的长字符串上截取部分前缀字符串来作为索引列,这样可以大大节约索引空间,从而提高索引效率。但是这样也会大大降低索引的选择性。索引的...
2020-01-20 17:35:03 253
原创 AngularJS阻止点击冒泡事件
<div ng-click="alertDiv('div',$event)"> <button ng-click="alertBtn('btn');$event.stopPropagation();">click</button></div>
2020-01-19 10:23:34 607
原创 MySQL外键关联大表和小表应该怎么驱动
看了网上的一些文章,有的人说大表驱动小表查询更快,有的人说小表关联大表更快。比如:有人支持小表关联大表有人支持大表关联小表这两种观点把我也整蒙了,到底应该大表关联小表,还是应该小表关联大表呢?我先给出我的结论:大表驱动小表为什么这么说呢?实践是检验真理的唯一标准。动手自己测一测就知道了。新建了两张表:big_table,顾名思义就是数据量较大的table,数...
2020-01-07 18:00:37 2867 2
原创 高性能MySQL--选择标识符
为标志列(外键列)选择合适的数据类型非常重要。1.在相关的表中使用相同的数据类型,因为这些列很可能在关联中使用。混用数据类型可能导致隐式类型转换错误。2.MySQL在内部使用整数存储ENUM和SET类型,然后在作比较操作时转换为字符串。3.在可以满足值的范围的需求,并且预留未来增长空间的前提下,应该选择最小的数据类型。4.通常来说整数是标志列最好的选择,因为他们很快并且可以使用au...
2020-01-06 11:01:52 283 1
原创 分割数组最大值
给定一个非负整数数组和一个整数m,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。注意:数组长度n满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是...
2019-12-04 13:47:53 571
原创 简单背包问题
简单背包问题有一个容量为v的背包,从N件物品中选择一些放入背包中,每件物品的重量为w[i],价格为v[i].怎么选择合适的物品使得背包内物品的总价值最大.分析这个问题中每个物品可供选择的次数是0或1.即简单背包问题.若可选择次数为n(n为一个有效的数字),则称之为有界背包问题.若可选择次数无限,则称之为无界背包问题.所有的背包问题都可以变换为简单背包问题.在本题中,如果...
2019-12-04 11:27:13 549
原创 利用at.js实现微博@功能
直接贴出前端代码和@的交互逻辑代码at.js官网将页面内需要引用的js和css文件从官网下载,然后引入,直接打开这个demo就可以了<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <link rel="s...
2019-11-22 17:26:00 1460 3
原创 390. 消除游戏题解
给定一个从1 到 n 排序的整数列表。首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾。第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直到列表开头。我们不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。返回长度为 n 的列表中,最后剩下的数字。示例:输入:n = 9,1 2 3 4 5 6 7 8 92 4...
2019-10-09 16:48:57 836
原创 蓄水池采样算法
一般来说,如果从1000个数字里随机抽取100个数字的算法是很简单的,比如通过随机算法从[0,1000)中随机抽取100个数即可.但是当我们遇到数字总量未知的时候,就需要采用蓄水池采样算法.蓄水池采样算法假设数据序列的规模为n,需要采样的数量的为k。首先构建一个可容纳k个元素的数组,将序列的前k个元素放入数组中。然后从第k+1个元素开始,以k/n的概率来决定该元...
2019-09-05 15:41:51 250
原创 leetcode 372 超级次方
你的任务是计算ab对1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。示例 1:输入: a = 2, b = [3]输出: 8示例2:输入: a = 2, b = [1,0]输出: 1024来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/super-pow著作权归领扣网络所有。商业...
2019-09-02 18:03:12 519
原创 编程语言的巧妙之处-位运算
如何不使用+,-运算符号计算两个数之和?在编程语言中除了+,-等符号运算,还有位运算.^,异或,相同为0,不同为1.比如 : 2^3 0 0 1 0 0 0 1 1 _______ 0 0 0 1 (相同出0,不同出1,结果=1) 2^3 = 1; ...
2019-08-30 15:22:01 205
原创 js在Html页面结构中引入的正确位置
在错误的位置引用大量的JS文件会导致页面静态元素迟迟加载不出来而给人一种网页顿卡的感觉.那么怎么才能解决这个问题呢?正确的做法是在<body></body>标签后面引入js文件.而body前面引入CSS文件.不会像我以前的通常做法是在<head></head>节点里面直接引入所有的css和js.因为如果有多个js文件被引入,那么对于浏览器来说,这些j...
2019-08-01 15:57:47 2084
原创 Vue.js中如何使用原生js触发点击事件
太坑了!!!!!!!!! var e = document.createEvent("MouseEvents"); e.initEvent("click", true, true); //这里的click可以换成你想触发的行为 ...
2019-07-15 12:16:11 8456 1
原创 kafka填坑
最近在学习使用kafka来做消息队列,在整个学习过程中遇到了超级多的坑,所以一个一个填了之后记录下来对以后开发速度有更大的提升!坑一:云服务器端口放开众所周知,kafka的服务建立在zookeeper服务之上.那么至少就有两个端口需要在云服务器上放开,包括2181和9092端口,如果不放开这两个端口,在本地是无法访问kafka的.坑二:Cannot allocate memory没...
2019-07-09 17:17:22 264
原创 如何保证一个链表(List)元素的有序性
在链表插入元素时保证链表的有序性.通过二分法来定位待插入元素的位置 public void addNum(int num) { if(list.size()==0){ list.add(num); return; } int l = 0; int r = list.size()-...
2019-07-08 09:20:03 1267
原创 java-动态代理
动态代理java动态代理指在程序运行时,运用反射机制动态创建而成。根据代理对象可以区分为两种代理方式,接口代理和对象代理.接口代理由java.lang.reflect.Proxy类来完成,Proxy 提供用于创建动态代理类和实例的静态方法。对象代理方式通过CGLib字节码技术完成。实现方式一:Proxy代理方式SayHello 接口/** * 接口(动态代理针对接口的代理类)...
2019-07-03 13:33:03 117
原创 mysql分组取最新(最大)的值
在项目开发中通常会遇到这样的需求,主表的一条数据对应着从表的多条数据,而在数据展示时我们有时只需要最新的一条数据时,就需要对从表进行分组并取出最新的数据来关联到主表.但是对于不同版本的mysql可能有一些bug需要我们来处理,如下:用户表 id name 1 小明 2 小红 评论表 id uid content ...
2019-06-26 15:47:34 898
原创 LEET CODE 227.Basic CalculatorII
Implement a basic calculator to evaluate a simple expression string.The expression string contains only non-negative integers, +, -, *, / operators and empty spaces . The integer division should tr...
2019-06-10 14:46:17 116
原创 LEET CODE 224.Basic Calculator
Implement a basic calculator to evaluate a simple expression string.The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty s...
2019-05-28 09:57:44 133
原创 Product of Array Except Self
Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Example:Input: [1,2,3,4]Output: ...
2019-05-07 13:57:34 109
原创 LEETCODE 402. 移掉K位数字解题思路
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = "10200...
2019-04-24 10:52:37 398
原创 Mysql将一张表查询到的数据更新到新的表上
我们在做数据修复时经常遇到这种情形,具体怎么做如下:UPDATE case_query_infoSET statusDate=(SELECT TIME FROM (SELECT MAX(operateTime) AS TIME, caseId FROM operate_log_info GROUP BY caseId) temp WHERE case_query_info.id=te...
2019-02-21 14:35:56 1735
原创 排序算法之基数排序
基数排序概念基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定...
2019-02-20 11:21:53 590
转载 google面试题---排序数组所需的最小交换次数
给定n个不同元素的数组,找到排序数组所需的最小交换数。输入:{ 4,3,2,1 } 输出:2 说明:将索引0与3交换,1与2交换以形成已排序的数组{1,2,3,4}。输入:{1,5,4,3,2} 输出:2通过将问题可视化为图形,可以轻松完成此操作。如果第i个索引处的元素必须出现在排序数组中的第j个索引处,我们将有n个节点和从节点i到节点j的边。 该图现在将包含许多非...
2019-02-16 15:46:13 4771 4
原创 LRU缓存机制
LRU是最近最少使用页面置换算法(Least Recently Used),也就是首先淘汰最长时间未被使用的页面!运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(k...
2019-01-31 15:50:09 519
原创 二叉树搜索算法集合
该篇总结关于二叉树前序遍历,中序遍历,后序遍历的各种实用算法(包括递归和遍历)。先序遍历先序遍历又称前序遍历,先序遍历(DLR),是二叉树遍历的一种,也叫做前序周游,可记做根左右。先序遍历首先访问根结点然后遍历左子树,最后遍历右子树。递归表达 public List<Integer> preorderTraversal(TreeNode root) { ...
2019-01-30 17:26:35 760
翻译 动态规划(dynamic programming)
概念动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,...
2019-01-29 17:39:08 322
原创 排序算法之快速排序
快速排序原理像归并排序一样,快速排序也是一种分治的递归排序.它是指从待排序数组中选取枢纽元,遍历数组,将小于枢纽元的元素放入S1,大于枢纽元的元素放入S2,然后再对S1和S2进行递归的调用,最后返回的结果是排序后的数组.快速排序策略举一个经典快速排序的例子,将数组S排序的基本算法由下列四步组成:1.如果S中元素个数是0或者1,则返回.2.取S中任一元素v,称之为枢纽元.3....
2019-01-12 16:55:09 451
原创 排序算法之归并排序
归并排序原理该算法的基本操作是合并两个已排序的表.因为两个表是已排序的,所以若将输出放到第三个表中,结果也是排好序的,合并算法可以通过对输入数据一趟排序来完成.递归调用分离的两个子表可求得结果.归并算法策略基本的合并算法是取两个输入数组A和B,一个输出数组C,以及3个计数器Actr,Bctr,Cctr,它们的初始位置对应数组的开始端.A[Actr]和B[Bctr]中较小者被拷贝到C中的...
2019-01-12 09:42:37 159
原创 排序算法之堆排序
堆排序原理优先队列可以用于以时间的排序.基于该思想的算法叫做堆排序.堆排序是指,将N个元素按照(max)堆的方式存入数组中,这个过程的时间复杂度为,然后再经过次deleteMax,每次deleteMax都会将堆的top与堆末位置相交换,这样一来大大节约了算法的空间开销,由于每次deleteMax花费时间,因此总的运行时间为.堆排序策略1.将原始数组构建为Max堆2.循环N-1次删除...
2019-01-11 15:40:52 184
原创 排序算法之希尔排序(缩减增量排序)
希尔排序原理希尔排序通过比较相距一定间隔的元素来工作;各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止.希尔排序增量序列希尔排序使用一个序列,,······,,叫做增量序列.在使用增量的一趟排序之后,对于每一个i我们都有a[i]<=a[i+](此时不等式是有意义的);所有相隔的元素都被排序.希尔排序的一个重要性质是,一个排序的文件保持它的排序性,否则该...
2019-01-10 11:13:43 1143 3
原创 排序算法之插入排序
插入排序原理插入排序由N-1趟排序组成.对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态.插入排序利用了这样的事实:已知位置0到位置p-1上元素已经处于排序状态.插入排序策略原始数组 34 8 64 51 32 21 移动的位置 p=1趟之后 8 34 64 51 32 21 ...
2019-01-10 10:06:41 134
翻译 深度优先遍历+回溯算法
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab"输出:[ ["aa","b"], ["a","a","b"]]深度优先遍历(DFS-deep first search),指从根节点开始搜索到所有叶节点.回溯算法(backtracking),指从问题的某一种状态(初始状态)出发,搜索从
2019-01-08 15:05:52 2661
原创 Best Time to Buy and Sell Stock III
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获...
2018-12-19 17:06:15 100
原创 Spring整合阿里云ACM(应用配置管理)的思路与代码实现
什么是ACM?阿里云ACM是阿里云提供的一款远程应用配置参数管理的服务,通过线上配置应用配置的方式(数据库连接,redis连接等)来集中管理项目中的配置参数,达到配置集中管理和即时应用的目的(PS:我的理解)。如何基于springframwork的框架下集成ACM达到配置集中管理的目的?下面就是我能提供给大家的一些建议。思路说实话,拿数据库连接举例,最开始我的实现思路是从ACM上获...
2018-11-14 14:51:34 1269 1
原创 Java-经典消费者和生产者代码(面试题)
生产者代码import java.util.Stack;public class Consumer extends Thread{ private Stack<Integer> stack; Consumer( Stack<Integer> stack){ super(); this.stack = stack; } @Override ...
2018-11-07 17:54:29 1649
原创 Java实现UDP和TCP---聊天小程序
关于如何实现UDP和TCP连接(具体应用),下面给出了几个例子UDP客户端代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddre...
2018-11-07 16:21:55 1607 1
At.zip demo
2019-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人