- 博客(78)
- 资源 (2)
- 收藏
- 关注
原创 剑指Offer-16-正则表达式匹配
/** * 正则表达式匹配 * @Description */public class Test17 { //一行代码 public boolean isMatch1(String s, String p) { return s.matches(p); } //动态规划 public boolean isMatch2(String s, String p) { int n = s.length(); int m
2020-06-26 09:31:07 187
原创 剑指Offer-15-删除链表中某个节点
/** * @Description */public class Test16 { public class ListNode{ int val; ListNode next; public ListNode(int value,ListNode nextNode) { val=value; next=nextNode; } } //leetcode简化版本
2020-06-26 09:29:45 231
原创 剑指Offer-14-打印从1到最大的n位数
import java.util.Arrays;/** * 打印从1到最大的n位数 : https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ * @Description */public class Test15 { public int[] printNumbers(int n) { int end = (int) Math.pow(10,n) - 1; i
2020-06-26 09:28:32 215
原创 剑指Offer-13-数值的整数次方
/** * 数值的整数次方:https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/ * @Description */public class Test14 { boolean isInvalid = false; public double myPow(double x, int n) { isInvalid = false; double result;
2020-06-26 09:27:52 132
原创 剑指Offer-12-二进制中1的个数
/** * 二进制中1的个数 * @Description */public class Test13 { // you need to treat n as an unsigned value public int hammingWeight(int n) { int count = 0; while (n != 0){ count++; n = (n - 1) & n; }
2020-06-23 02:54:34 117
原创 剑指Offer-11-剪绳子
/** * 剪绳子-I : https://leetcode-cn.com/problems/jian-sheng-zi-lcof/ * 动态规划 * @Description */public class Test12 { //动态规划 public int cuttingRope1(int n) { if (n < 2){ return 0; } if (n == 2){ r
2020-06-23 02:53:36 108
原创 剑指Offer-10-机器人运动范围
/** * 机器人的运动范围:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/ * @Description */public class Test11 { public int movingCount(int m, int n, int k) { if (m <= 0 || n <= 0 || k < 0){ return 0;
2020-06-23 02:52:08 182
原创 剑指Offer-09-矩阵中的距离
/** * 矩阵中的距离:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/ * 首先对所整个矩阵遍历,找到第一个字符,然后向上下左右查找下一个字符,由于每个字符都是相同的判断方法 * (先判断当前字符是否相等,再向四周查找),因此采用递归函数。由于字符查找过后不能重复进入, * 所以还要定义一个与字符矩阵大小相同的布尔值矩阵,进入过的格子标记为true。如果不满足的情况下, * 需要进行回溯,此时,要将当前位置的布尔值标
2020-06-23 02:50:55 203
原创 剑指Offer-08-旋转数组的最小数字
/** * 旋转数组的最小数字(寻找右排序的首个元素x,x也可以称为旋转点) * @Description */public class Test09 { public int minArray(int[] numbers) {// int i = 0, j = numbers.length - 1;// while (i < j) {// int m = (i + j) / 2;// if (numbe.
2020-06-23 02:50:00 192
原创 剑指Offer-07-斐波那契数列
/** * 斐波那契数列(答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1) * @Description */public class Test08_1 { public int fib(int n) { if(n == 0 || n == 1){ return n; } long[] dp = new long[n+1]; dp[0] = 0;
2020-06-19 17:41:27 156
原创 剑指Offer-06-用两个栈来实现队列
import java.util.LinkedList;/** * 用两个栈来实现队列 * @Description */public class Test07 { class CQueue { LinkedList<Integer> stack1; LinkedList<Integer> stack2; public CQueue() { //初始化栈 stack1
2020-06-19 17:39:40 123
原创 剑指Offer-05-二叉树的下一个节点
/** * 剑指offer书中:二叉树的下一个节点 * 1.若当前结点有右子树时,其下一个结点为右子树中最左子结点; * 2.若当前结点无右子树时, * (1)若当前结点为其父结点的左子结点时,其下一个结点为其父结点; * (2)若当前结点为其父结点的右子结点时,继续向上遍历父结点的父结点, * 直到找到一个结点是其父结点的左子结点(与(1)中判断相同),该结点即为下一结点。 * @Description */public class Test06 { //树的节点比较特殊,除了指
2020-06-19 17:38:30 103
原创 剑指Offer-04-重建二叉树
/** * 重建二叉树(根据二叉树先序和中序遍历重建二叉树) * @Description */public class Test05 { class TreeNode{ int value; TreeNode left; TreeNode right; public TreeNode(int value){ this.value = value; } } public T
2020-06-18 15:56:47 111
原创 剑指Offer-03-从头到尾打印单链表
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Stack;/** * 从头到尾打印单链表 * @Description */public class Test04 { public static class ListNode{ int value; ListNode next; public ListN
2020-06-18 15:55:00 120
原创 剑指Offer-02-空格替换(2)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入package com.hhy.algorithm.sword2offer.newcode;/** * 空格替换,在原
2020-06-18 15:52:43 205
原创 leetcode-1.两数之和
题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]So...
2019-10-29 15:38:52 131
原创 Java经典算法题(1)
1. Java 的 16 进制与字符串的相互转换函数/** * 将指定 byte 数组以 16 进制的形式打印到控制台 * @param hint String * @param b byte[] * @return void*/public static void printHexString(String hint, byte[] b) { System.o...
2019-10-27 17:29:19 231
原创 带头节点的单链表实现(Java语言)
package DataStructure.linkedlist;import java.util.Stack;/** * Created on 2019/9/23 19:27 * * @author Haiyang He * @version 1.0 */public class SingleLinkedListTest { public static void ma...
2019-09-25 16:55:35 585
原创 合并两个有序链表,递归和非递归,Java实现
package DataStructure.linkedlist;/** * Created on 2019/9/25 15:50 * 合并两个有序的单链表 * * @author Haiyang He * @version 1.0 */public class MergeOrderLinkedList { /** * 以递归的方式合并两个有序的单链表 ...
2019-09-25 16:54:22 342
原创 利用数组模拟环形队列(Java实现)
package DataStructure.queue;import java.util.Scanner;/** * Created on 2019/9/23 16:22 * * @author Haiyang He * @version 1.0 */public class CircleArrayQueueTest { public static void main(...
2019-09-23 16:32:39 314
原创 利用数组模拟队列(Java实现)
package DataStructure.queue;import java.util.Scanner;/** * Created on 2019/9/23 12:56. * @author Haiyang He * @version 1.0 */public class ArrayQueueTest { public static void main(String[...
2019-09-23 16:31:38 137
原创 Java实现单个目录下批量修改、重命名文件名
我们平时去下载的文件或者视频都会有很多的前缀部分,有些前缀过长,也无法一一单独修改文件名。所以令人烦恼、但是作为程序猿,这都不是事。接下来贴上代码,需要的小伙伴只需要修改newString、oldString 、以及指定文件的路径就可以批量修改文件名啦!!!package test;import java.io.File;import java.io.IOException;/** ...
2019-09-21 17:47:47 2616
原创 Matplotlib scatter: TypeError: unhashable type: 'numpy.ndarray'
最近在看《TensorFlow实战Google深度学习框架》,正则化这边运行书中下段代码遇到一些错误:import tensorflow as tfimport matplotlib.pyplot as pltimport numpy as npdata = []label = []np.random.seed(0)# 以原点为圆心,半径为1的圆把散点划分成红蓝两部分,并加入随机...
2019-09-18 17:44:39 6715
原创 安装Tensorflow问题,ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus......
在Anaconda当中安装tensorfolw遇到以下问题,解决方案:一、ERROR: Cannot uninstall ‘wrapt’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a ...
2019-09-04 15:35:03 8667 5
原创 CentOS7 yum安装软件时报检索密钥错误
CentOS 7 在yum install 软件时,出现有关密钥问题:一、出现密钥未安装解决办法:修改 yum配置文件: /etc/yum.conf gpgcheck=1 >>> gpgcheck=0二、密钥已安装但是不适用此软件包。升级或者更新软件的时候出现下列错误:Downloading packages:警告:/var/cach...
2019-09-03 09:42:57 2234
原创 SpringBoot面试(1)
一、什么是 Spring Boot?多年来,随着新功能的增加,spring 变得越来越复杂。只需访问 https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个新的 sp...
2019-08-30 14:39:45 133 1
原创 Bartlett球形检验
一、基本概念Bartlett’s球状检验是一种数学术语。用于检验相关阵中各变量间的相关性,是否为单位阵,即检验各个变量是否各自独立。因子分析前,首先进行KMO检验和巴特利球体检验。在因子分析中,若拒绝原假设,则说明可以做因子分析,若不拒绝原假设,则说明这些变量可能独立提供一些信息,不适合做因子分析。二、因子分析过程因子分析前,首先进行KMO检验和巴特利球体检验。KMO检验用于检查变量间的相关...
2019-08-29 15:55:53 19004
原创 CDN概念和基本原理
1. 什么是CDN?CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。2. 基本原理CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服...
2019-05-28 16:45:46 5675 5
原创 大型项目架构演进过程
初始阶段架构初始阶段的小型系统、应用程序、数据库、文件等所有的资源都在一台服务器上。通俗称为LAMP。特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用Mysql,汇集各种免费开源软件以及一台廉价服务器就可以开始系统的发展之路了。应用服务和数据服务分离使用缓存改善性能特征:...
2019-05-28 13:18:52 242
原创 CXF+Spring整合发布web服务案例
现在以一个简单的案例手机归属地查询,模拟CXF+Spring整合发布web的服务。一、服务端基本步骤:第一步:创建一个web项目,并且导入相关的jar包第二步:生成公网客户端代码(具体代码结构如下)第三步:创建SEI接口package com.hhy.mobile.server;/** * SEI接口 * @Title:MobileInterface.java * @pac...
2019-04-10 08:39:57 222
原创 华为2019暑期实习机试03
题目3:公司咖啡机煮咖啡需要花费时间不一样,一台咖啡机只能著一杯咖啡。每个人带着杯子喝咖啡,喝完咖啡后需要清理杯子。清洁杯子有两种方案:1.使用洗杯器清洁,但只有一个,一次只能洗一个杯子。2.自然晾干。求所有人喝完咖啡并清洁完自己的杯子时间为多少?喝咖啡时间忽略。输入:第一行数字T,表示有T组测试数据每组数据。第一行四个数n,m,x,y;表示n个人,m台咖啡机,x洗杯机清洁时间,y自然晾干...
2019-04-06 17:15:24 517
原创 华为2019暑期实习机试02
题目2:对输入字符串检查是否存在非法字符,输出合法字符串并去重,和非法字符串(不去重)。‘0’-‘9’,‘a’-‘z’,‘A’-'Z’为合法字符集合。输入:每行一个字符串,连续空字符串作为一个空格处理,输入以空行结束。输出:第一行:合法字符串并去重第二行:非法字符串第三行:第一行的字符串循环左移10位第四行:第三行的ASCII排序字符串之间用空格隔离。import java.ut...
2019-04-06 17:14:22 787
原创 华为2019暑期实习机试01
题目1:有多组整数数组,需要将他们合并成一个新的数组。合并规则:从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者为空。则直接取出剩余内容放到新的数组中,继续下一行。输入:第一行是每次读取的固定长度,第2-n行是需要合并的数组,不同的数组用回车换行分隔,数组内用逗号分隔。输出:新的数组,用逗号分隔示例:输入:32,5,6,71,7,4...
2019-04-06 17:12:51 979
原创 java中StringTokenizer使用
类 StringTokenizer继承实现关系:public class StringTokenizerextends Objectimplements Enumeration<Object>string tokenizer 类允许应用程序将字符串分解为标记。tokenization 方法比 StreamTokenizer 类所使用的方法更简单。StringTokenizer ...
2019-03-27 08:52:03 266
原创 《机器学习实战》-完整版的SMO算法
#!/usr/bin/env python# encoding: utf-8import matplotlibimport matplotlib.pyplot as pltimport numpy as npimport randomimport time"""类说明:维护所有需要操作的值Parameters: dataMatIn - 数据矩阵 classLa...
2019-03-14 22:40:45 1026
原创 《机器学习实战》-简化版的SMO算法
#!/usr/bin/env python# encoding: utf-8import matplotlib.pyplot as pltimport numpy as npimport time'''函数说明:读取文件当中的数据'''def loadDataSet(fileName): dataMat = [] labelMat = [] fr = ...
2019-03-14 22:38:15 833
原创 剑指Offer-02-空格的替换
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。package hhy.offer;/** * 空格的替换 * */public class Test02 { /* public static String replaceSpace(StringBuffer ...
2019-03-14 22:22:56 103
原创 剑指Offer-01-二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。package hhy.offer;/** * 01.二维数组中的查找 * * 从右上角开始往下进行查找,逐步去掉不满足条件的行或者列 * */public class Test0...
2019-03-14 22:21:28 195
原创 Struts2的请求周期
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决...
2019-02-19 13:51:37 147
原创 resulst元素:配置逻辑结果视图
**name属性:**结果视图名称。与动作方法的返回值对应,当一致前往指定的jsptype属性:结果视图类型。不写的时候,有默认值,默认值是dispatcher 转发。常用取值:dispatcher:请求转发 默认值redirect:重定向chain:转发到另一个动作转发到同包(同名称空间)下的另一个动作action2转发到不同包(不同名称空间)下的另一个动作使用的是注入的思...
2019-02-18 12:12:33 122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人