初识shiro 发表于 2017-07-01 | 分类于 安全框架 前言参考百度上说的Apache Shiro是一个强大易用的java安全框架,提供了认证、授权、加密和会话管理功能,可以为任何应用提供安全保障,而其主要为解决以下四个问题:1、 认证-用户身份识别,常被称为用户登录2、 授权-访问控制3、 密 ... 阅读全文 »
设计模式原则笔记 发表于 2017-05-11 | 分类于 java与设计 在编程语言中除了各种不同的设计模式外,它们也可以被抽出一些共性 开闭原则:一个软件实体应当对开展开放,对修改关闭(玉帝招安美猴王) 面向对象解释: 不予以更改的是抽象层,但是可以扩展的是实现层 对可变性的封装原则: 找到一个系统的可变因素, ... 阅读全文 »
连续子数组的最大和 发表于 2017-05-08 | 分类于 剑指offer 问题描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁 ... 阅读全文 »
第一个只出现一次的字符 发表于 2017-05-07 | 分类于 剑指offer 问题描述在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路分析可以先将字符串转换为字符数组,然后放在一张哈希表中,而其索引就为字符,然后判断该字符是否为第一次,第一次 ... 阅读全文 »
整数中1出现的次数(从1到n整数中1出现的次数) 发表于 2017-05-06 | 分类于 剑指offer 问题描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍 ... 阅读全文 »
最小的K个数 发表于 2017-05-05 | 分类于 剑指offer 问题描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 思路分析(解法一)可先将整数数组进行排序,利用快排(nlogn)为从小到大,然后取出前k项 码上有戏1234 ... 阅读全文 »
数组中出现次数超过一半的数字 发表于 2017-05-05 | 分类于 剑指offer 问题描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路分析通过双重循环 ... 阅读全文 »
把数组排成最小的数 发表于 2017-05-04 | 分类于 剑指offer 问题描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路分析将整数数组转化为字符串数组,然后通过对字符串排 ... 阅读全文 »
输出字符串的全排列 发表于 2017-05-03 | 分类于 剑指offer 问题描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如:输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab,cba 思路分析回想字符串的模式匹配思想,我们可以将该字符串分成 ... 阅读全文 »
序列化二叉树 发表于 2017-05-02 | 分类于 剑指offer 问题描述请实现两个函数,分别用来序列化和反序列化二叉树。其中序列化的意思返回一个带有逗号和特殊符号的字符串,而反序列化就是根据带有特殊符号和逗号的字符串返回一个二叉树 思路分析对应序列化二叉树来说,因为每次都是将根结点序列化,所以可用前序遍 ... 阅读全文 »