<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[星的博客]]></title><description><![CDATA[纵使风云变幻，能守住的——此心而已！]]></description><link>https://blog.csdn.net/weixin_43357889</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; weixin_43357889]]></copyright><item><title><![CDATA[笔试题目(字符串处理、求点到面的距离)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/109560094</link><guid>https://blog.csdn.net/weixin_43357889/article/details/109560094</guid><author>weixin_43357889</author><pubDate>Sun, 08 Nov 2020 16:07:16 +0800</pubDate><description><![CDATA[题目一描述
给定一个字符串，该字符串的组成为数组或者数字，求数组的层数。

例如：给定[4,[2,5],[3,6,[8,9]]]
该字符串返回的结果为3

题目一分析
对于字符串可以有很多办法，自己选择的是对字符串中的‘[’和‘]’进行处理，使用一个栈记录出现字符’[’，记录栈的大小，当栈中元素变大时替换掉记录的数值。

题目中：先将当前的字符拆分，如果是’[‘就入栈并记录栈的大小和更新记录值，如果是’]'就弹出栈，因此能够记录数组的深度即层数。

代码如下
import java.io.BufferedR]]></description><category></category></item><item><title><![CDATA[找工作之数据库相关整理]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/109477183</link><guid>https://blog.csdn.net/weixin_43357889/article/details/109477183</guid><author>weixin_43357889</author><pubDate>Tue, 03 Nov 2020 21:14:36 +0800</pubDate><description><![CDATA[作为一名后端的软件开发人员，数据库是必须要熟练使用并且知道原理，复习自己的sql语句。(如果做开发这些语句必须背过)
1.数据库表操作
1.1.数据库建表

create table 表名();

示例：
请创建一个学生表(sid,sname,sno,sclass)
CREATE TABLE student(
    `sid` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `sname` VARCHAR(20) NOT NULL ,
    `sno` INT ]]></description><category></category></item><item><title><![CDATA[Java动态代理与字节码实现AOP]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/109319827</link><guid>https://blog.csdn.net/weixin_43357889/article/details/109319827</guid><author>weixin_43357889</author><pubDate>Tue, 27 Oct 2020 20:48:04 +0800</pubDate><description><![CDATA[Java动态代理
jdk动态代理机制，在运行期间，为相应的接口动态生成对应的代理对象。将横切关注点封装到动态代理的InvocationHandler中，在系统运行期间，根据横切关注点需要织入的模块位置，将横切逻辑织入到相应的代理类中，以动态类为载体的横切逻辑。SpringAOP默认的机制为动态代理。
动态代理是基于代理模式设计的一种方式，代理模式中一般涉及到的对象有：
接口抽象：是被访问者或者访问资源的抽象。
目标类(被代理对象)：被访问者或者被访问资源的具体实现。即代理对象只需要关注自己所做的事情。
代理]]></description><category></category></item><item><title><![CDATA[ROS系统安装问题]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/109260973</link><guid>https://blog.csdn.net/weixin_43357889/article/details/109260973</guid><author>weixin_43357889</author><pubDate>Sat, 24 Oct 2020 16:05:42 +0800</pubDate><description><![CDATA[安装全新的操作系统Ubuntu
安装参考地址：官网地址
**注意：**安装前将自己的镜像源更换掉
其中有的部分不需要执行：
第一步：
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" &gt; /etc/apt/sources.list.d/ros-latest.list'

第二步：
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.co]]></description><category></category></item><item><title><![CDATA[Java岗位笔试笔记]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108991906</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108991906</guid><author>weixin_43357889</author><pubDate>Sat, 10 Oct 2020 11:43:39 +0800</pubDate><description><![CDATA[心得
秋招已经过了一半了，部分公司已经结束，其实今年七月份就已经开始秋招了，因此对于秋招的准备还是有一些完，八月底才做好简历，九月份一边修改一边投递，还要一边准备考试的东西，有点紧张了，其实有点累了(不想努力了。。。)
笔试的分类(Java开发岗位)
第一种
互联网大公司的题目一般是没有选择题，只有两道算法题目，因此就算是后端开发也应该学习算法，这种算法题目一般为leetcode题目中困难的那一部分，也许更难。
第二种
游戏公司一般招聘的java岗位是服务器端的开发，除了有一些关于网络、操作系统、linux]]></description><category></category></item><item><title><![CDATA[建造者模式(Java实现)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108902050</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108902050</guid><author>weixin_43357889</author><pubDate>Fri, 02 Oct 2020 15:20:36 +0800</pubDate><description><![CDATA[建造者模式概念

是创建型模式之一，使用多个简单的对象创建一个复杂的对象，用于将一个复杂的构建与其表示分离，使得同样的构建过程可以创建不同的表示，然后通过一个Builder类创建最终对象。

建造者模式解决的问题

建造者模式主要用于解决软件系统中复杂对象的创建问题。例如复杂对象的创建通过各个部分的子对象用一定的算法构成，在需求变化时复杂对象面临大的改变，不利于系统的稳定，使用建造者将各个部分的算法包装起来，需求变化只需要将算法的顺序以及组合方式改变即可。

建造者模式需要的模块

Builder:创建一个]]></description><category></category></item><item><title><![CDATA[记录0916和0917两天的笔试]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108653020</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108653020</guid><author>weixin_43357889</author><pubDate>Thu, 17 Sep 2020 21:34:11 +0800</pubDate><description><![CDATA[0916
题目一
打印斐波那契数列
描述：输入一个整数n，输出是一个斐波那契数列的一个三角形

1
1,1,1
1,1,2,1,1
1,1,2,3,2,1,1
1,1,2,3,5,3,2,1,1

感觉自己的程序还是有点乱
代码如下
public static void print(TreeNode root) {
		System.out.print(root.val + ",");
		if (root.left != null)
			print(root.left);
		if (root.righ]]></description><category></category></item><item><title><![CDATA[leetcode刷题之回溯算法]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108506956</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108506956</guid><author>weixin_43357889</author><pubDate>Thu, 10 Sep 2020 09:58:35 +0800</pubDate><description><![CDATA[前言
由于之前的一道回溯算法题目没做出来，最近一段时间专门练习回溯算法的题目，程序写的多了就有感觉知道哪里有问题，算法练习还是集中的专项练习为好。
组合总和
题目一描述

给定一个不重复元素的数组和一个目标值target，找出数组中能够组合成目标值的子集合，注意数组元素可以重复使用。
例如：candidates = [2,3,6,7] target = 7
返回值：
[
[7],
[2,2,3]
]

题目传送
题目一分析
构建一颗树来表示，以target为根节点以数组元素为边做减法操作，叶子节点为0的一条]]></description><category></category></item><item><title><![CDATA[Leetcode刷题(k个一组翻转链表、字节跳动往年的真题)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108476374</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108476374</guid><author>weixin_43357889</author><pubDate>Tue, 08 Sep 2020 21:02:35 +0800</pubDate><description><![CDATA[k个一组翻转链表
题目一描述
给定一个链表，将链表中的k个元素进行翻转，最后不满足k个元素的整数倍的元素，不进行翻转。

例如：
输入：1-&gt;2-&gt;3-&gt;4-&gt;5
k=2时：  返回2-&gt;1-&gt;4-&gt;3-&gt;5
k=3时：返回3-&gt;2-&gt;1-&gt;4-&gt;5

题目传送
题目一分析
该题目是一道困难的题目，但是对于链表这种数据结构的题目一般都不是特别难。可以使用一个指针窗口进行翻转窗口内的所有节点，但是这样的做题需要多个指针，比较乱。
我使用额]]></description><category></category></item><item><title><![CDATA[LeetCode刷题(最多水的容器、链表问题)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108427527</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108427527</guid><author>weixin_43357889</author><pubDate>Sun, 06 Sep 2020 09:05:51 +0800</pubDate><description><![CDATA[题目一  盛最多水的容器
题目描述
给一个非负整数a1…an，每一个数代表坐标中的一个点(i,ai)，在坐标内画n条垂直线，垂直线的两端分别为(i,ai)(i,0)，找出其中的两条线，使得该线与x轴构成的容器有更多的水。

例如 [1,8,6,2,5,4,8,3,7]
输出：49


题目分析

作为算法新手，我总是想着使用之前学过的算法接问题，因为之前在左神的算法课中听过一个单调栈结构，该数据结构的具体使用，维护一个容器(可以使栈也可以是队列)，遍历数组，将当前大于栈顶的元素地址加入栈中，如果不大于就对其]]></description><category></category></item><item><title><![CDATA[Leetcode刷题之(机器人、链表、括号生成)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108287481</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108287481</guid><author>weixin_43357889</author><pubDate>Fri, 28 Aug 2020 22:35:58 +0800</pubDate><description><![CDATA[简单记录一下最近的状态，最近一直做着与工作相关的一些事情，每天学习，不会就学呗，没有什么是学不会的，踏踏实实的努力就好了。
个人的技术方向做一个Java的后端开发，随后想着做大数据分析或者做一些3D的游戏，自己也是在慢慢的摸索着，个人的联系方式itxingzai@163.com,希望有相同兴趣的可以一起交流，做一个安分的技术人，好了，看看今天的算法题目吧。
题目一 机器人能否回到起点
题目一描述
在一个二维的平面上，有一个机器人从原点(0,0)处开始移动，判断该机器人是否在移动结束后会回到原点。机器人有四个]]></description><category></category></item><item><title><![CDATA[Ubuntu18.04只显示127.0.0.1问题]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108264852</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108264852</guid><author>weixin_43357889</author><pubDate>Thu, 27 Aug 2020 18:14:00 +0800</pubDate><description><![CDATA[好记性不如烂笔头，自己的虚拟机被玩换掉了，没有ip地址，每次执行ifconfig显示127.0.0.1
问题一：不显示ip地址
问题如下：

看不到网络地址等信息，查找了好多资料，说自己的ip地址呗释放掉了。
可以使用命令

sudo  dhclient  -v

必须是超级用户来执行这种系统性质的操作，反面材料如下

正确的显示

最后就可以成功获取一个ip地址了

问题二 更换python版本

Ubuntu18.04自带的版本是2.7，因为环境的需要更换成python3.6
首先查看自己的版本：
py]]></description><category></category></item><item><title><![CDATA[牛客网刷题之数组(二分法、BFPRT算法)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108226440</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108226440</guid><author>weixin_43357889</author><pubDate>Tue, 25 Aug 2020 18:48:49 +0800</pubDate><description><![CDATA[前言

最近大家都如火如荼的找工作，我也正在尝试，21年的招聘会看起来不是那么的友好，自己学的Java程序不知道会不会找到心仪的工作，今天七夕在这里许个愿，求个好一些公司的面试机会和offer。
学算法，学系统设计， 学更多的技术，提升自身的核心竞争力，个人的博客： https://itxingzai.xyz/,一起学习，一起进步。

题目一 二分法
题目传送门
题目1描述
实现一个有重复数字的数组查找，找到数组中第一个大于等于目标元素的元素位置，如果不存在，返回数组长度+1

输入：5,4,[1,2,4,]]></description><category></category></item><item><title><![CDATA[LeetCode刷题(回文子串、数字的补数、密钥格式化、最大连续1的个数)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108115571</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108115571</guid><author>weixin_43357889</author><pubDate>Thu, 20 Aug 2020 09:20:49 +0800</pubDate><description><![CDATA[[]
1.回文子串
1.1 题目描述
1.2题目分析
1.3代码如下

]]></description><category></category></item><item><title><![CDATA[leetcode刷题(被围绕的区域、字符串相乘、图像的渲染)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/108032303</link><guid>https://blog.csdn.net/weixin_43357889/article/details/108032303</guid><author>weixin_43357889</author><pubDate>Sun, 16 Aug 2020 10:14:14 +0800</pubDate><description><![CDATA[好久没有写博客了，由于自己最近准备一些找工作用的知识笔记，将java的基础知识在重新的准备复习，复习的相关笔记记录在个人的博客上，有并发编程的对一些框架、jvm的理解，希望有什么错误可以给我一些提示。
博客地址
1.被围绕的区域
1.1 题目描述
给定二维矩阵，其中有X和O两种字母，替换所有被X包围的O，边界以及边界相连的O不被替换

例如：
X X X X
X O O X
X X O X
X O X X
更改后
X X X X
X X X X
X X X X
X O X X

题目传送门
1.2 题目分析]]></description><category></category></item><item><title><![CDATA[Leetcode刷题(回旋镖、打家劫舍)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/107826403</link><guid>https://blog.csdn.net/weixin_43357889/article/details/107826403</guid><author>weixin_43357889</author><pubDate>Wed, 05 Aug 2020 22:51:46 +0800</pubDate><description><![CDATA[个人笔记推荐
最近将之前学习的多线程的相关知识进行了总结以及对于juc相关的并发编程的api进行了复习，学习java的小伙伴可以提供一些意见：个人JUC笔记
题目一描述
回旋镖数量： 给定平面上n对不同的点，"回旋镖"是由点表示的元祖(i，j，k),其中i和j之间的距离和i和k之间的距离相等

例如：
输入： [[0,0],[1,0],[2,0]]
输出为：2
可以组成两个回旋镖，[[1,0],[0,0],[2,0]]和[[1,0],[2,0],[0,0]]

传送门
题目一分析
该问题是一个选取点的问题，]]></description><category></category></item><item><title><![CDATA[leetcode刷题之流式计算(字符串中的单词、排列硬币、大数的和)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/107708146</link><guid>https://blog.csdn.net/weixin_43357889/article/details/107708146</guid><author>weixin_43357889</author><pubDate>Fri, 31 Jul 2020 15:23:24 +0800</pubDate><description><![CDATA[0.前言
对于函数式编程称为了各个编程语言的范式，而且越来越多的相关新功能与函数式编程相关，函数式接口总体分为四种：消费型接口、供给型接口、断定式接口和函数接口，关于并发的学习，在个人网站的学习笔记中：JUC并发编程笔记  在学习并发中设计到很多相关的基础知识，也拓展了不少其他的知识。
流式计算参考文档
流式计算可以体现出一个程序员学习的能力吧，随后自己也需要在这个方面加强训练，只有不断保持学习才能提高自身的核心竞争力。
1.字符串中的单词
题目描述
统计一个字符串中单词的个数，该单词指的是不为空格的字符例]]></description><category></category></item><item><title><![CDATA[leetcode刷题(股票问题、回文验证、旋转数组最小值)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/107504860</link><guid>https://blog.csdn.net/weixin_43357889/article/details/107504860</guid><author>weixin_43357889</author><pubDate>Wed, 22 Jul 2020 10:30:44 +0800</pubDate><description><![CDATA[最近被中期答辩弄得昏头转向，本来想着和计算机打交道，计算机会听话，会遵循指令做事，没想到研究的人工智能，甚至要把人类智能加入到计算机中，当然没有说不好，可是我们研究的有点偏，本来以为是高级的算法、数据结构等，没想到最后研究的还是人，真叫人头秃。
上个周末，挤出一些时间学习了一下Elasticsearch，参考的是b站的狂神课程，课程的笔记在个人的博客学习笔记传送门
项目使用springboot继承ES模仿京东的搜索页面，源码地址：项目源码
由于学校学业的一些困扰，好久没有刷题，本次都为简单题目。
1.股票问]]></description><category></category></item><item><title><![CDATA[Leetcode刷题之(电话号码字母组合、十进制转十六进制)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/107192388</link><guid>https://blog.csdn.net/weixin_43357889/article/details/107192388</guid><author>weixin_43357889</author><pubDate>Tue, 07 Jul 2020 22:51:55 +0800</pubDate><description><![CDATA[题目一描述：
电话的数字键对应英文字母的26个字符，返回所有它能表示的字母组合，给出数组到字母的映射如下，数字1不对应任何字母。题目对于小白来说有点难，因此参考别人的程序，需要多多复习一下。
传送门
题目一分析：
对于需要匹配的字符需要将数字与字符串进行相关的编码映射，因此使用map将自己的数字与数字对应的字符串进行相关的匹配。然后进行递归回溯进行将所有的数字对应的字符串拼接在一起
代码如下：
class Solution {
     List&lt;String&gt; list = new Array]]></description><category></category></item><item><title><![CDATA[Leetcode刷题(三个数之和、最接近三个数之和)]]></title><link>https://blog.csdn.net/weixin_43357889/article/details/107158347</link><guid>https://blog.csdn.net/weixin_43357889/article/details/107158347</guid><author>weixin_43357889</author><pubDate>Mon, 06 Jul 2020 15:16:27 +0800</pubDate><description><![CDATA[题目一描述
给定一个整数类型的数组nums，数组中是否存在三个数字a,b,c,满足:a+b+c=0，求的所有满足条件的元素的集合，不能够有重复的元素

例如：
nums={-1,0,1,2,-1,-4}
满足要求的有：[[-1,0,1],[-1,-1,2]]

题目传送门
题目一分析
首先将数组进行排序，这个样就能够将相同的元素进行处理。

当前三个元素的和如果等于0，那么将三个元素放入一个链表中，将其放入返回的结果中，将移动指针右移，将右指针左移，如果当前两个指针指向的位置与上一次自己指向的位置相同，那么]]></description><category></category></item></channel></rss>