自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lreis2010

技术

  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 更新记录-2021

日期 分类 更新记录 2019-08-31 Algorithm

2021-08-31 18:22:10 69

原创 leetcode-8. 字符串转换整数 (atoi)

问题描述:请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。算法的具体规则可以查阅链接。简单分析:题目比较简单,遍历字符串,对各个字符串按照规则逐个处理即可。在翻阅官方题解中,发现状态机的实现算法,减少冗余代码。...

2021-09-15 10:40:00 122

原创 leetcode-7. 整数反转

问题描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−231,231− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。简单分析:题目不难,注意下整数范围判断即可。编码:class Solution { public int reverse(int x) { int ret = 0; while (x !=0){ ...

2021-09-13 20:02:11 98

原创 leetcode-6. Z 字形变换

问题描述:将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z 字形排列。简单分析:思路:拿到这个题目后,我首先想到了基数排序,模仿其原理,将不同的字符按照所在字符串的索引分装到不同的"木桶"中,最后合并木桶,即可得到最终的字符串。这个方法,需要单独开辟O(n)的空间存储数据,并且数据在原始字符串/桶/结果值之间移动,造成了时间的浪费。提交结果不是很理想。o(╥﹏╥)o优化:基于第一种,不转存数据,每个桶作为一层,直接将每层的数据输出到结果值中。编码:方法...

2021-09-13 17:05:20 120

原创 leetcode-5. 最长回文子串

问题描述:给你一个字符串s,找到s中最长的回文子串。简单分析:回文子串的要求是以某个点为中心左右两边的字符是一样的,这样对字符串中任意一个位置{i},只需要判断{i}左右两边的字符是否一样就能算出{i}位置的半径R[i]。文中为了排除奇偶性的干扰,对字符串做了加工,所以过程分为一下三部:修正数据,排除奇偶性的干扰 计算每个位置的半径,并取其中的最大值 过滤数据,组装最终的结果。备注:翻阅了其他题解,我的解题思路应该属于中心扩展算法,时间复杂度是O()。另外有Manacher 算法...

2021-09-10 18:46:08 80

原创 leetcode-4. 寻找两个正序数组的中位数

问题描述:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。简单分析:所谓中位数就是一个数据中居于中间位置的数,两个数组(m+n) /2位置的数据是我们要找的数据,所以该问题的关键点有两个:遍历两个数组,查找第(m+n)/2位置的数字 考虑数组的长度奇偶性,需要记录索引(m+n)/2位置之前的那个数字class Solution { public double findMedianSortedArrays(...

2021-09-09 20:35:21 100

原创 Algorithm-左程云-堆排序

本文是学习了左神教学视频后编码完成的,相对于上一篇堆排序算法Algorithm-排序算法-堆排序_lreis2010-CSDN博客过程更加清晰简练,学习了。1.构建最大堆在堆中插入一个新的元素,需要判断该元素与父节点之间的大小关系进行适当的调整,保证当前数据结构是一个最大堆。构建最大堆的过程是一个自下而上的调整过程。 // 插入新的数,调整堆为最大堆 // 自下而上的调整 private void heapInsert(int[]arr, int index){.

2021-09-09 20:04:17 286

原创 leetcode-3. 无重复字符的最长子串

问题描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。简单分析:字符串相关的处理优先考虑滑动窗口算法编码class Solution { public int lengthOfLongestSubstring(String s) { if (s == .

2021-09-08 15:12:21 89

原创 leetcode-2. 两数相加

问题描述:给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。简单分析:题目比较简单,两个数【n位数,m位数】的加法,是从低位逐层进行计算,程序终止于第i层的必要条件是:i > n i > m i - 1层没有进位编码/** * Definition for singly-linked ...

2021-09-08 15:04:29 54

原创 leetcode-1. 两数之和

问题描述:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。...

2021-09-08 14:41:52 65

原创 Log4j2配置文件总结

整理一下最近项目中用到的Log4j2配置文件。产品上线后,只能通过机器的运行参数以及运行日志能够及时、准确地了解产品的运行状况。日志的作用至关重要,关键节点、错误堆栈等信息能帮助我们快速的定位并解决问题。干净利索的日志文件使我们身心愉悦#89。本文记录一下学习log4j2配置中的一些心得体会,有问题期待大佬们指点。1.配置结构本文事例中configuration下有三个节点properties:配置文件中用到的参数设定 appenders:定义了日志的输出源 loggers:定义了日志的输入

2021-09-08 10:48:44 2004

原创 Algorithm-异或总结

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言异或运算的定义与运算法则可参考《百度词条》

2021-08-31 20:17:25 112

原创 ZooKeeper源码-1-DataTree

ZooKeeper is a high-performance coordination service for distributed applications. It exposes common services - such as naming, configuration management, synchronization, and group services. ...

2019-11-23 09:07:27 213

原创 JVM读书笔记-4.虚拟机栈机制

Java内存模型将Java内存分为线程共享区域和线程私有区域,虚拟机栈是线程的私有区域。

2019-03-26 16:50:16 142

原创 Algorithm-排序算法-2路归并排序

归并排序的核心思想是分治策略,将待排序队列等分为多个待排序的子序列,每个子序列排序完成后再将结果集合并。二路归并排序是将待排序队列递归两个子序列进行排序。算法描述将待排序队列分割成两个长度分别为 长度(length)/2 的两个子序列 在两个子序列里递归使用归并排序进行排序 将排序完成的子序列结果集合并为最终的排序队列动态演示算法实现1.分割两个子序列public ...

2019-03-26 16:15:55 431

原创 JVM读书笔记-3.JVM的内存模型JMM

JVM读书笔记-3.JVM的内存模型JMM

2019-03-21 14:41:06 137

原创 Algorithm-排序算法-堆排序

堆排序是选择类排序算法,核心思想依然是选择最大(小)的元素,与直接选择排序不同的是,堆排序借助了最大堆的特性,使得最大元素的查找更加的便利。最大堆最大堆是二叉堆的一个形式,最大堆要求根节点的关键字是所有节点关键字中的最大者,即要求最大堆根节点的关键字不小于其左叶子的关键字,也不能小于右叶子的关键字。这就要求最大堆:最大堆的子树也是一个最大堆; 最大堆是完全二叉树,而且是根节点关键字大...

2019-03-20 21:23:19 196

原创 Algorithm-排序算法-希尔排序

希尔排序是插入排序的升级版,核心思想是分治思想+直接插入排序。算法描述生成一个递减的数字序列Tn,t1,t2,...,ti...tj..tk;其中ti>tj,tk=1; 选择Tn的第一个元素t1对待排序数列分组,第i个分组Gi内元素在待排序序列中的索引为(t1*0+i,t1*1+i,...t1*n+i); 在各个分组内使用直接插入排序算法进行排序; 依次选取Tn内的元素重复2)...

2019-03-20 15:55:29 120

原创 Algorithm-排序算法-插入排序

插入排序的核心思想是站在自己该站的地方,基本原理就是通过构建有序序列,对于未排序的数据,在已排序的序列中从后往前扫描,找到自己的位置并插入。算法描述从第一个元素开始,认定该元素是已经排序完成的; 取出下一个元素,从已排序的序列中从后往前扫描; 如果已排序的序列大于待排序元素,则已排序的元素后移; 重复步骤3,直到待排序元素找到自己的位置 将待排序元素插入到相应位置; 重复以上步骤...

2019-03-19 12:01:20 155

原创 Algorithm-排序算法-快速排序

快速排序算法是交换类排序算法,核心思想是分治思想,将待排序元素分割成两个待排序序列进行排序。算法描述从待排序序列中选择一个元素作为基准值(pivot); 以基准值为标准分割待排序序列,使得所有比基准值大的元素排列在基准值的后面,所有比基准值小的元素排列在基准值的前面; 在分割后的待排序序列中重复1)2)步骤,直到排序完成。动态演示算法实现1.快速排序算法packag...

2019-03-19 11:53:58 174

原创 Algorithm-排序算法-选择排序

选择排序算法比较简单直观,核心思想就像列兵战队一样,谁长的矮谁就往前站。算法描述:在待排序的队列中查找关键字最小的元素; 如果关键字最小的元素下标不是待排序的第一个元素,则将其与第一个元素交换位置; 在余下的待排序队列中,重复1、2步骤,直到所有元素排序完成。动态演示算法实现package com.lreis.algorithm.sort;import java.u...

2019-03-13 16:57:03 198

原创 Python读书笔记-每日一练-20190308|冒泡排序

问题描述:冒泡排序的Python实现问题分析:冒泡排序的算法原理可以参考《Algorithm-排序算法-冒泡排序》,里面给了Java的算法实现。代码编写1.数据产生器#!/usr/bi/env python3#filename:data_generator.pyimport random,jsonclass DataGenerator(object): def _...

2019-03-08 19:35:40 216

原创 Algorithm-排序算法-冒泡排序

冒泡排序是比较简单的一种排序算法,该算法核心思想是队列中大的元素后冒泡一样被推送到队列的顶部。算法描述比较待排序队列中相邻的两个元素,如果前一个元素大于后一个元素,则交换两个元素的位置; 对队列中所有相邻的元素重复步骤1中的操作,遍历一遍后,最大的元素会被交换到队列的顶端; 除了被交换到最后的最大元素,其他未完成排序的元素重复步骤2。同理会将次最大的元素交换到未排序元素的队列顶端; ...

2019-03-08 19:30:57 461 2

原创 Python读书笔记-每日一练-20190307|鸡兔同笼

问题描述:《孙子算经》中记载的有趣问题,今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?解题思路1.穷举法:假设有x只鸡,y只兔。因为每只鸡一头两足,每只兔一头四足,由题中数据可以得到x+y=35,x*2+y*4=94,遍历即可得到鸡兔只数。程序编写如下:#!/usr/bin/env python3#Filename:chichen_rabbit.pyclass CR(...

2019-03-07 11:13:03 738

原创 Python读书笔记-每日一练-20190305|经典编程

问题描述:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?程序编写:# !/usr/bin/env python3# Filename:falling.pyclass gravity(object): def __init__(self): pass @staticme...

2019-03-05 11:02:47 153

原创 Python读书笔记-每日篇-20190301|单词统计

问题描述:任一个英文的纯文本文件,统计其中的单词出现的个数。需求分析:数据通过文件读取 读取文件中的单词 统计每个单词的个数代码编写:'''Created on 2019年3月1日@author: Administrator'''import reimport collectionsdef word_list(filename): try: ...

2019-02-28 18:00:28 158

原创 更新记录-2019

日期 分类 更新记录 2019-02-22 Python Python读书笔记-每日篇-20190222|激活码生成器(redis存储) Python Python读书笔记-进阶篇-1.Random 2019-02-29 JVM JVM读书笔记-2.程序是如何炼成的 Python ...

2019-02-22 14:37:57 238

原创 Python读书笔记-每日篇-20190222|激活码生成器(redis存储)

问题描述: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券),并将生成的激活码保存到Redis中?需求分析:需求同《Python读书笔记-每日篇-20190219|激活码生成器》 激活码存储在Redis中代码编写:      编写Redis连接API:#! /us...

2019-02-22 14:36:56 303

原创 Linux使用-网络篇-1.firewalld服务

CentOS7系统中默认的iptables管理工具为firewalld服务,常用命令端口以及服务修改对应的文件为 /etc/firewalld/zones/public.xmlfirewalld服务管理 命令 安装firewalld服务 yum -y install firewalld 开机启动firewalld服务 systemctl enable firewa...

2019-02-21 14:29:35 218

原创 Python读书笔记-每日篇-20190221|激活码生成器(mysql存储)

问题描述: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券),并将生成的激活码保存到MySQL数据库中?需求分析:需求同《Python读书笔记-每日篇-20190219|激活码生成器》 激活码存储在MySQL数据库中代码编写:      编写数据库存储接口mydb.py...

2019-02-21 13:56:49 198

原创 Python读书笔记-进阶篇-2.Redis

目录1.Redis连接1.1新建连接1.2连接池2.Redis操作Redis是一个高效的key-value数据存储系统,支持多种数据结构。Redis是基于内存的操作,支持的数据类型有字符串、哈希表、列表、集合以及有序集合,主要用于缓存、高速队列以及消息的订阅与发布等。Redis本身涉及到的内容很丰富,本文只概述学习Redis在Python中的应用。Redis的详细内容...

2019-02-19 17:24:49 261

原创 Python读书笔记-进阶篇-1.Random

random库是Python3中产生随机数的标准库,包括了基本随机数函数seed()、random()以及一些扩展的随机数函数。首先看下Random类的原型:class Random(_random.Random),继承自内置类_random,因此Random类中拥有了基础的随机数函数random()。下面来一一介绍下各个函数的涵义以及用法。使用random裤需要引入random包#...

2019-02-19 17:23:41 260

原创 Python读书笔记-每日篇-20190219|激活码生成器

问题描述: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?需求分析:激活码数量可调节,后续可追加 激活码长度可调节 激活码不可重复代码编写:#! /usr/bin/env python3# Filename : generator.pyimport os,...

2019-02-19 15:38:02 1086

原创 Python读书笔记-基础篇-1.万丈高楼平地起

随着人工智能领域的兴起,Python可以说集万千宠爱于一身,成了炽手可热的香饽饽。Python作为脚本语言,简单易上手,受到了很多编程爱好的喜爱。编程语言是相通的,简单是一时的,任何语言的存在都有他的特色,只有掌握了语言的精髓才能判断它是否简单?不能简单地人云亦云。万丈高楼平地起,一起领略Python语言的特色。学习一门语言,首先要搭建环境、了解基本语法。Python环境的搭建另行篇章...

2019-02-15 16:30:45 391

原创 JVM读书笔记-2.程序是如何炼成的

目录1.解释器与编译器1.1编译执行1.2解释执行1.3半编译半解释执行2.编写源码3.前端编译4.类的加载4.1加载4.2链接4.3初始化1.解释器与编译器上文《JVM读书笔记-1.来福与旺财的养牛场》讲述了一个简单易懂但不确切的故事来描述解释器与编译器。那解释器和编译器到底是什么?解释器:将程序源码一条一条地解释执行编译器:将程序源码整个...

2019-01-30 13:59:10 163

转载 JVM读书笔记-1.来福与旺财的养牛场

转载请注明原文出处《关于编译器与解释器的区别》来福与旺财的养牛场来福和旺财有一个养 牛场。本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖。奶牛阿圆只吃切成圆形的牧草,而奶牛阿方和阿三(印度来的?)分别只吃切成正方形 和三角形的牧草。如果来福和旺财拿不和奶牛性格的草去喂食,阿X们不但不产奶而且还会鄙视来福和旺财。于是来福和旺财分别有了自己的主意来福的方案:来福发明了三套大...

2019-01-24 22:38:25 201

原创 Java多线程-关键字-3.wait()与notify()/notifyAll()

 Java多线程-关键字-3.wait()与notify()/notifyAll()

2018-12-28 17:26:09 72

原创 Java多线程-关键字-1.sleep

 Java多线程-关键字-1.sleep

2018-12-28 17:25:32 286

原创 Java多线程-关键字-1.synchronized与Lock

Java多线程-关键字-1.synchronized与Lock

2018-12-28 17:23:17 177

原创 Java多线程-设计模式-4.Guarded Suspeionsion模式

Java多线程-设计模式-4.Guarded Suspeionsion模式

2018-12-28 10:58:18 289

可用于XP系统的IIS5.1版本,稳定可靠

可用于XP系统的IIS5.1版本,稳定可靠

2010-05-31

空空如也

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

TA关注的人

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