<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zerohawk的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zerohawk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zerohawk]]></copyright><item><title><![CDATA[【log4j】配置Slf4j]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/146581463</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/146581463</guid><author>zerohawk</author><pubDate>Fri, 28 Mar 2025 00:27:50 +0800</pubDate><description><![CDATA[注解，类中使用log.info/error/warn/debug等即可。引入log4j相关api。]]></description><category></category></item><item><title><![CDATA[Netbeans设置快捷键分配新变量]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/129320461</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/129320461</guid><author>zerohawk</author><pubDate>Fri, 03 Mar 2023 15:01:26 +0800</pubDate><description><![CDATA[选择Tools->Options->Editor->Hints，之后选择Suggestions，把Assign Return Value To New Variable勾上即可]]></description><category></category></item><item><title><![CDATA[Java运行说明（非IDE）]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/127913195</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/127913195</guid><author>zerohawk</author><pubDate>Thu, 17 Nov 2022 22:20:38 +0800</pubDate><description><![CDATA[Java运行说明（非IDE）]]></description><category></category></item><item><title><![CDATA[数据库记录]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/125602534</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/125602534</guid><author>zerohawk</author><pubDate>Mon, 04 Jul 2022 16:14:32 +0800</pubDate><description><![CDATA[1. 左连接和右连接区别（主表不一样）：
2. order by和group by混用order by失效的问题：]]></description><category></category></item><item><title><![CDATA[JS学习记录]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/125046398</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/125046398</guid><author>zerohawk</author><pubDate>Mon, 30 May 2022 14:47:17 +0800</pubDate><description><![CDATA[JS学习记录：
1、js的三种提示框：alert、confirm、prompt
2、随机数取值：

[0,10)和(0,10]：

​	向下取整：Math.floor(Math.random()*10)	//[0,10)
​	向上取整：Math.ceil(Math.random()*10)	//(0,10]

[0,10]：

​	向下取整：Math.floor(Math.random()*11)	//[0,10]
​	向上取整：Math.ceil(Math.random()*11)-1	//[0,10]
]]></description><category></category></item><item><title><![CDATA[PAT 乙级 1096 大美数]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/124927828</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/124927828</guid><author>zerohawk</author><pubDate>Mon, 23 May 2022 15:17:32 +0800</pubDate><description><![CDATA[PAT 乙级 1096 大美数
思路：求出给定n的因子，再进行排列组合求出四个数的和，然后判断是否有能整除n的数，如果有就是输出Yes，否则输出No。递归遍历即可
注意这里有个整除的概念，a整除b是b%a0而不是a%b0否则测试点1过不去
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;set&gt;
using namespace std;

vector&lt;int&gt; fact;	//存放因子和四个因子的和
set&l]]></description><category></category></item><item><title><![CDATA[Vue3踩坑记录]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/124863971</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/124863971</guid><author>zerohawk</author><pubDate>Thu, 19 May 2022 15:32:51 +0800</pubDate><description><![CDATA[Vue3踩坑记录
1、v-show显示隐藏一个组件会触发更新钩子，但是必须得要根标签，不然无法隐藏
2、ref与reactive区别：

定义数据：
ref用来定义基本数据类型；
reactive用来定义对象或数组数据类型
原理：
ref通过Object.defineProperty()的get与set实现响应式；
reactive通过使用Proxy来实现响应式，并通过Reflect操作源对象内部的数据
使用：
ref定义的数据：操作数据需要.value，读取数据时模板中直接读取不需要.value
reac]]></description><category></category></item><item><title><![CDATA[Vue+Nodejs项目中碰到的一些问题]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/124764942</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/124764942</guid><author>zerohawk</author><pubDate>Sat, 14 May 2022 10:51:14 +0800</pubDate><description><![CDATA[Vue+Nodejs项目中碰到的一些问题
1、数据进行CRUD后刷新页面的方法：

强制刷新：this.$forceUpdate();
使用window.reload()或者router.go(0)，但会使整个浏览器进行重载，页面闪烁
重新调用接口，但性能较差，代码冗长
provide-inject：
App.vue中提供provide的this.reload方法：

&lt;template&gt;
    &lt;div id="app"&gt;
        &lt;router-view v-if]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1066 Root of AVL Tree]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121493793</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121493793</guid><author>zerohawk</author><pubDate>Tue, 23 Nov 2021 15:09:00 +0800</pubDate><description><![CDATA[1066 Root of AVL Tree
模拟平衡二叉树的过程，输出最后生成的树的根节点
class Node:
    def __init__(self,data,height=1,left=None,right=None):
        self.data=data
        self.left=left
        self.right=right
        self.height=height

    def getHeight(self):
        if self]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1063 Set Similarity]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121485196</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121485196</guid><author>zerohawk</author><pubDate>Tue, 23 Nov 2021 08:43:41 +0800</pubDate><description><![CDATA[1063 Set Similarity
题目大意：找出两个集合里共有的元素个数除上两个集合的并集
n=int(input())
l=[]
for i in range(n):
    tmp=list(map(int,input().split()))
    l.append(set(tmp[1:]))
k=int(input())
for i in range(k):
    pair=tuple(map(int,input().split()))
    common=l[pair[0]-1]&amp]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1062 Talent and Virtue]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121477633</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121477633</guid><author>zerohawk</author><pubDate>Mon, 22 Nov 2021 18:36:06 +0800</pubDate><description><![CDATA[1062 Talent and Virtue
题目大意：给出一组人数，按照要求分类再排序输出。圣人是virtue和talent都超过h的人，君子是virtue超过h并且talent位于[l,h)区间内的人，笨蛋是两个都位于[l,h)区间内并且virtue&gt;=talent的人，剩下的达到最低标准l的都是小人。PS：python日常超时，C++这里完美AC
class Person:
    def __init__(self,id,virtue,talent):
        self.id=id
 ]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1060 Are They Equal]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121470998</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121470998</guid><author>zerohawk</author><pubDate>Mon, 22 Nov 2021 14:35:00 +0800</pubDate><description><![CDATA[1060 Are They Equal
题目大意：给出连个数和一个精度位数，用科学计数法表示这两个数，如果相同则输出YES+科学记数法表示的数；否则输出NO+各自的科学记数法
思路：找出小数点和第一个有效数字，然后比较两者顺序，记录下n个有效数字，按格式输出即可。注意这里坑点挺多，像是小数点在有效数字后面输出时候得处理掉小数点，0的输出，指数负数的输出，前导0的处理等等，还是有点麻烦的
def isZero(s):  #判断字符串是否全部为0
    n=len(s)
    for i in range(]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1059 Prime Factors]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121465736</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121465736</guid><author>zerohawk</author><pubDate>Mon, 22 Nov 2021 10:00:30 +0800</pubDate><description><![CDATA[1059 Prime Factors
题目大意：给出一个数n，找出他的所有素因子，按照格式输出即可。
注意1和n自身是素数的情况
from math import *

def isPrime(n):
    if n==1:
        return False
    if n==2 or n==3:
        return True
    for i in range(2,int(sqrt(n))+1):
        if n%i==0:
            return Fals]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1056 Mice and Rice]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121453007</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121453007</guid><author>zerohawk</author><pubDate>Sun, 21 Nov 2021 13:55:33 +0800</pubDate><description><![CDATA[1056 Mice and Rice
题目大意：给出老鼠的数量和每组的人数，将老鼠分成若干组（多下来不够每组人数的算作一组），第二行给出每只老鼠最终的重量，第三行给出分组顺序
思路：记录每轮获胜的选手，淘汰掉的人的排名就是当前所在的层数，将获胜的选手继续下一轮排名。注意这里分组需要考虑总人数不满一组的情况！
n,m=map(int,input().split())
weight=list(map(int,input().split()))   #每只老鼠的重量
order=list(map(int,inpu]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1052 Linked List Sorting]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121442916</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121442916</guid><author>zerohawk</author><pubDate>Sat, 20 Nov 2021 17:52:21 +0800</pubDate><description><![CDATA[1052 Linked List Sorting
题目大意：以（address,key,next）形式给出一个链表，将链表按key进行排序后输出新生成的链表
思路：本以为直接排序就好，next给的数据都没有用，后来发现会有多的节点，即给出一个头节点会生成一个链表，但是有的节点不在这条链上，这就要去掉多余的节点。测试点3超时，C++完美AC。想了一下输入输出是不能砍的，唯一能动手脚的应该就是去除节点的步骤了，不过性价比不高，太费时间
n,head=map(int,input().split())
l=[]
l]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1051 Pop Sequence]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121437024</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121437024</guid><author>zerohawk</author><pubDate>Sat, 20 Nov 2021 11:40:18 +0800</pubDate><description><![CDATA[1051 Pop Sequence
题目大意：给定一个栈的大小，给出k组数据，输出是否是合法的出栈序列
思路：用数组模拟栈即可，注意判断是否超出栈的大小，每轮循环都要初始化。本以为会超时，单纯的想试下直接模拟能拿多少分，意外的全部AC了…
m,n,k=map(int,input().split())
for i in range(k):
    flag=True
    stack=[]    #模拟栈
    l=list(map(int,input().split()))
    index=0 #待]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1048 Find Coins]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121436055</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121436055</guid><author>zerohawk</author><pubDate>Sat, 20 Nov 2021 10:40:56 +0800</pubDate><description><![CDATA[1048 Find Coins
题目大意：给出目标价格m，要求找出两个硬币和恰好等于m。如果没有解输出No Solution；若不止一组解则输出coins[i]+coins[j]=m中i最小的解
思路：首先不能暴力求解，肯定超时。先对硬币进行排序，然后用二分法来查找。注意不能直接用二分，依然会超时，先提前用set去重，因为要求的是硬币面额而不是下标。
def findCoins(l,r,m):
    global coins
    if coins[l]+coins[r]==m:
        ret]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1047 Student List for Course]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121429508</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121429508</guid><author>zerohawk</author><pubDate>Fri, 19 Nov 2021 19:32:44 +0800</pubDate><description><![CDATA[1047 Student List for Course
题目大意：给出学生数量和课程数量，接下来给出每个学生所选的课，统计每个课程选的学生姓名
思路：用dict字典存储每门课选的人即可。注意有的课可能没有人选，要提前判断字典里是否存在
n,k=map(int,input().split())
course={}
for i in range(n):
    tmp=input().split()
    for j in range(2,len(tmp)):
        if course.get(t]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1043 Is It a Binary Search Tree]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121388949</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121388949</guid><author>zerohawk</author><pubDate>Wed, 17 Nov 2021 22:00:25 +0800</pubDate><description><![CDATA[1043 Is It a Binary Search Tree
题目大意：给出一棵树的先序序列，判断它是否是一个BST或者一个镜面BST
思路：这题主要是树的遍历问题，先假设该树是一棵BST，按照BST的方法建树，然后输出建好树后的先序序列，若是与原数列从小到大排列相同则说明是BST；如果不相同则按照相反的方式遍历这棵树，若得到的先序序列与原数列从大到小排列则说明是镜面BST；否则输出NO。C++完美AC，python测试点5一直非零返回，也不准备找了，花的时间太长了。顺便提一嘴python没有引用真的挺不]]></description><category></category></item><item><title><![CDATA[PAT 甲级 1040 Longest Symmetric String]]></title><link>https://blog.youkuaiyun.com/zerohawk/article/details/121356567</link><guid>https://blog.youkuaiyun.com/zerohawk/article/details/121356567</guid><author>zerohawk</author><pubDate>Tue, 16 Nov 2021 15:12:17 +0800</pubDate><description><![CDATA[1040 Longest Symmetric String
题目大意：给出一个字符串，求出最长的回文子串的长度
思路：从第一个字符开始往后遍历，每次遍历第一个字符不动，从下一个字符开始找起，若是有回文子串则更新最大长度，暴力求解即可。注意这样会有个测试点超时，其中加个判断当前子串长度是否大于已经找到的最长长度，大的话则继续查找，否则直接跳到下一轮就能避免超时
def isSymmetric(s):
    start,end=0,len(s)-1
    while start&lt;=end:
     ]]></description><category></category></item></channel></rss>