<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sunjingze1的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sunjingze1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sunjingze1]]></copyright><item><title><![CDATA[记录一下，引用类型何时指向栈内存中变量本身，何时又变为引用的实际JAVA对象]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/122197466</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/122197466</guid><author>sunjingze1</author><pubDate>Tue, 28 Dec 2021 17:04:13 +0800</pubDate><description><![CDATA[这样改动的结果是 copy 和 pre 都不会受到影响


这样改动会影响到copy和head，不会影响到pre

这样改动会影响到head copy pre对象；
总结一下，直接使用引用类型变量就是使用本身，使用引用类型变量调用方法或属性时，该引用类型所代表的就是引用的对象（突破程序员基本功的十六课）

...]]></description><category></category></item><item><title><![CDATA[Pgsql以及Kingbasees创建触发器]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/120490079</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/120490079</guid><author>sunjingze1</author><pubDate>Sun, 26 Sep 2021 15:52:02 +0800</pubDate><description><![CDATA[文章目录触发器是什么？PGSQL在创建的触发器的方式与Oracle有些不同(查阅文档未找到更快捷的方式);Oracle创建触发器的方式：PGSQL创建触发器的方式：例子KingbaseES创建触发器的方式

触发器是什么？
触发器可以与表进行绑定，当表做出Delete、Update、Insert这些对表进行改动的操作时，会触发触发器内的逻辑，常用有打日志输出等。。
PGSQL在创建的触发器的方式与Oracle有些不同(查阅文档未找到更快捷的方式);
Oracle创建触发器的方式：
CREATE OR RE.]]></description><category></category></item><item><title><![CDATA[PGSQL、Kingbasees存储过程写法，游标使用等]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/120362876</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/120362876</guid><author>sunjingze1</author><pubDate>Sat, 18 Sep 2021 10:46:27 +0800</pubDate><description><![CDATA[PGSQL
create or replace function PRIMARY_KEY_MANY(t character varying, columnnames character varying, types character varying)
    RETURNS void AS
$BODY$
DECLARE
  count int4 :=0; --判断是否需要添加主键
  num int4 := 0;
  rec_column varchar;
  cur_column CURSOR(colu]]></description><category></category></item><item><title><![CDATA[Oracle数据库迁移至PGSQL，部分语法转换]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/119216582</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/119216582</guid><author>sunjingze1</author><pubDate>Thu, 29 Jul 2021 17:59:48 +0800</pubDate><description><![CDATA[#Oracle转PGSQL
Oracle:dual表

由于oracle不支持select ‘x’ 这类型的sql语句，只能使用select ‘x’ from dual;
pgsql支持select 'x’这类型的sql语句


Oracle:NVL对应coalesce

oracle的NVL(col,0)如果第一个参数是null，则返回参数2，如果第一个参数是非null，则返回参数1，参数1和参数2类型可以不一致
pgsql的COALESCE(EXPR1,EXPR2,EXPR3…EXPRn)总体思路和nv]]></description><category></category></item><item><title><![CDATA[把数组组成最小的数]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/111859464</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/111859464</guid><author>sunjingze1</author><pubDate>Mon, 28 Dec 2020 13:57:29 +0800</pubDate><description><![CDATA[/**
 * 输入一个正整数数组，把数组里所有数字拼接起来排成一个数，
 * 打印能拼接出的所有数字中最小的一个
 * 。例如输入数组{3，32，321}，则打印出这三个数字能排成的最小数字为321323。
 */


这题可以使用全排列的方法再一一对比得出最小的数，不过这种方法的复杂度很大。

我们如果可以知道每每两数的排序规则，就可以让这个数组从小到大进行排序进而组合成最小的数，

使用compareTo的方式比较(下图)，可以看到字符串比较是根据每个字符的ASII值进行比较，如果对这个数组全部数进行.]]></description><category></category></item><item><title><![CDATA[剑指offer刷题顺序]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/111797910</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/111797910</guid><author>sunjingze1</author><pubDate>Sun, 27 Dec 2020 14:17:04 +0800</pubDate><description><![CDATA[数组（共12道题目）：

【剑指Offer】1、二维数组中的查找

【剑指Offer】6、旋转数组的最小数字

【剑指Offer】13、调整数组顺序使奇数位于偶数前面

【剑指Offer】19、顺时针打印矩阵

【剑指Offer】28、数组中出现次数超过一半的数字

【剑指Offer】30、连续子数组的最大和

【剑指Offer】32、把数组排成最小的数

【剑指Offer】35、数组中的逆序对

【剑指Offer】37、数字在排序数组中出现的次数

【剑指Offer】40、数组中只出现过一次的数字

【剑]]></description><category></category></item><item><title><![CDATA[变态跳台阶]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/111641830</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/111641830</guid><author>sunjingze1</author><pubDate>Thu, 24 Dec 2020 17:40:01 +0800</pubDate><description><![CDATA[对于变态跳台阶其实可以和跳台阶一样解决，只要理解了跳台阶的递归思想后做这个变态跳台阶是十分轻松的，这里是我写的跳台阶思路https://mp.youkuaiyun.com/editor/html/111638494

递归：

理解了跳台阶递归思路后，变态跳台阶可以这样理解：要跳n级台阶，设这个函数为f(n)，那么在跳第n级台阶之前的位置可能是0~n-1的任意位置，所以总体的函数可以看作是f(n)=f(n-1)+f(n-2)+...+f(0)(这里要注意f(0)的取值，f(0)是一个对结果没有意义的数，但是对总体函数的]]></description><category></category></item><item><title><![CDATA[跳台阶]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/111638494</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/111638494</guid><author>sunjingze1</author><pubDate>Thu, 24 Dec 2020 17:04:57 +0800</pubDate><description><![CDATA[青蛙跳台阶

一只青蛙一次可以跳上1级台阶，也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法（先后次序不同算不同的结果）。

递归:

递归的思想是自顶向下来解决问题的，就是比如青蛙跳了3级台阶，那么青蛙之前只能是两种情况，一是3-1=2在第二台阶跳上来的，二是3-2=1在第一台阶跳上来的，所以设青蛙跳法的函数为f(x)那么，这个函数可以看作是 f(x)=f(x-1)+f(x-2)；

然后只需要计算这个函数最开始的两个值就可以完美的解决，可以是f(1)和f(2)即f(1)=1， f(2)=2;或]]></description><category></category></item><item><title><![CDATA[斐波那契数列]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/111638353</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/111638353</guid><author>sunjingze1</author><pubDate>Thu, 24 Dec 2020 16:33:42 +0800</pubDate><description><![CDATA[斐波那契数列


]]></description><category></category></item><item><title><![CDATA[DML：增删改表中数据]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/109995195</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/109995195</guid><author>sunjingze1</author><pubDate>Mon, 23 Nov 2020 14:21:43 +0800</pubDate><description><![CDATA[DML：增删改表中数据
1. 添加数据：
	* 语法：
		* insert into 表名(列名1，列名2，列名3，。。。列名n) values(值1，值2，值3，。。。值n)；
	* 注意：
		1. 列名和值要一一对应。
		2. 如果表名后，不定义列名，则默认给所有列添加值。
			* insert into 表名 values(值1，值2，。。。值n)；
		3. 除了数字类型，其他类型需要使用引号(单双都可以)引起来。
2. 删除数据：
	* 语法：
		* delete from 表名 [wh]]></description><category></category></item><item><title><![CDATA[DDL：操作数据、表]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/109995172</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/109995172</guid><author>sunjingze1</author><pubDate>Mon, 23 Nov 2020 14:20:51 +0800</pubDate><description><![CDATA[DDL：操作数据、表
1. 操作数据库：CRUD
	1. C(Create)：创建
		* 创建数据库：
			* create database 数据库名称；
		* 创建数据库，判断不存在，再创建：
			* create database if not exists 数据库名称；
		* 创建数据库，并指定字符集
			* create database 数据库名称 character set 字符集名；
		* 创建数据库，判断不存在，并指定字符集
			* create database if n]]></description><category></category></item><item><title><![CDATA[力扣90题：给定一个可能包含重复元素的整数数组 nums，返回该数组所有可能的子集（幂集）。  说明：解集不能包含重复的子集。]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/109210062</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/109210062</guid><author>sunjingze1</author><pubDate>Wed, 21 Oct 2020 21:21:54 +0800</pubDate><description><![CDATA[三种解法：

1.递归法(扩展法)



同力扣78题解法差不多，加入Arrays.sort(nums)进行排序；

结束后把res转变为hashset集合，集合的特点是没有重复的元素，所以做到去重的效果，最后再把集合转变为list;

2. 回溯法



也是同78题类似，加入Arrays.sort(nums)进行排序；

在backtrack循环中加入


if (i &gt; start &amp;&amp; nums[i] == nums[i - 1])判断语句

i &gt; start 的作..]]></description><category></category></item><item><title><![CDATA[力扣78题：给定一组不含重复元素的整数数组 nums，返回该数组所有可能的子集（幂集）。]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/109191438</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/109191438</guid><author>sunjingze1</author><pubDate>Tue, 20 Oct 2020 23:44:55 +0800</pubDate><description><![CDATA[这题的两种做法：

1.递归法：



递归法中最主要的思想是要弄懂 为什么可以用这种方法实现这道题；

通过从空集开始不断递归到集合中最后一个元素，

比如有数组[1,2,3] ,首先设置一个最终的大集合 ；

因为空集是每个集合的子集，所以先把空集加入(这个算法的最重要的点) 此时大集合可以看作 [ [空集]]

然后遍历数组[1,2,3]，先从1开始，用1和空集合并为一个新的

子集[[1],[]]也就[1]；(特别注意的是每次遍历一个数字后就复制一次用来拼接下一个元素)

此时大集合内的子集...]]></description><category></category></item><item><title><![CDATA[给定一个包含 [0, n] 中 n 个数的数组 nums ，找出 [0, n] 这个范围内没有出现在数组中的那个数]]></title><link>https://blog.youkuaiyun.com/sunjingze1/article/details/109147609</link><guid>https://blog.youkuaiyun.com/sunjingze1/article/details/109147609</guid><author>sunjingze1</author><pubDate>Sun, 18 Oct 2020 17:59:22 +0800</pubDate><description><![CDATA[给定一个包含 [0, n]中n个数的数组 nums ，找出 [0, n] 这个范围内没有出现在数组中的那个数。



进阶：

你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?


1.排序算法

calss Solution{

public int missingNumber(int[] nums){

  Arrays.sort(nums);

  for(int i = 0; i &lt; num.length; i++){

    if(nums[i] !...]]></description><category></category></item></channel></rss>