day5
求一棵树的最大深度
深度优先遍历对于左子树和右子树进行递归,如果哪个值比较大,我们就可以进行保存,值得注意的是,我们应该将这一轮的值进行保存
123456789101112class Solution { public int maxDepth(TreeNode root) { if(root==null){ return 0; } else{ int leftHeight=maxDepth(root.left); int rightHeight=maxDepth(root.right); return Math.max(leftHeight,rightHeight)+1; } }}
正统dfs想法和我第一遍想的一样,写不出来hhhhh其中极端情况去想这个递归的是,我们只有一颗全部是左子树的树,这时候我们就要不停的向左走,如果走到头我们就要进行回退进行判断另外,如果只有一个节点的,我们就想要进行判断是否是叶子 ...
day4
盛水最多的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。
本题的做法十分巧妙,从最两侧的开始寻找最大值,然后向中间靠拢,每次都更新最大值,直到相遇
其中如果两侧的值相等,则向中间靠拢,因为如果向中间靠拢,则可以利用左侧的值,而右侧的值已经用不
如果两侧的较低的那个,我们就可以进行选择不要,向中间靠拢
123456789101112131415161718192021222324252627282930 class Solution { public int maxArea(int[] height) { int pre = 0; int back = height.length-1; int ans[] = new int[height.length]; int i = 0; int min=0; while(true){ min = height[pre]<heigh ...
day3
两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
递归1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 public class Solution { public ListNode swapPairs(ListNode head) { // 如果链表为空或者只有一个节点,无需交换 if (head == null || head.next == null) { return head; } ListNode one = head; ListNode two = one.next; ListNode three = two.next; // 交换节点 two.next ...
day2
两个链表求和的问题如果两个链表长度不同,那么短的链表在求和的时候,需要补0。如果两个链表长度相同,那么就比较每一位,相加,如果大于9,则进位,否则不进位。这里我们的想法是申请一个新的链表,如果两个链表长度不同,那么短的链表在求和的时候,需要补0。如果两个链表长度相同,那么就比较每一位,相加,如果大于9,则进位,否则不进位。123456789101112131415161718192021class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dum = new ListNode(0); ListNode p1 = l1; ListNode p2 = l2; int carrier = 0 ; //进位 ListNode cur = dum; // while(p1!=null || p2!=null||carrier!=0){//一种极端的情况是如果 ...
LinkedList
环形链表I一个简单的想法是使用快慢指针,快指针一次走两步,慢指针一次走一步,当快指针指向null时,慢指针指向的节点这个想法可以类比于龟兔赛跑,由于兔子及快导致如果有环,会一直再环里转圈,总会到一个位置相遇
1234567891011121314151617public class Solution { public boolean hasCycle(ListNode head) { if(head==null||head.next==null){ return false; } ListNode low = head; ListNode fast = head.next; while(fast!=low){ if(fast==null||fast.next==null){ // 注意判空条件 return false; } ...
systemSafeTheory
基于.net框架下的长数据流的对称加密解密通信1.引言1.1实验目的:本实验的研究目的是基于.net框架下使用CBC加密算法使用C#实现对于TCP的保密通信服务,通过对于《网络安全与密码编码学》第6章和第5章提到的算法进行实现,将对TCP或UDP的通信进行加密处理,以提供保密性。
1.2问题陈述在实现对TCP通信的保密服务时,目标解决以下的问题
选择加密算法, 从CBC、CFB和OFB中选择一种合适的算法,用于对通信数据进行加密。这个选择应该基于算法的安全性和适用性。
实现加密算法:将选定的加密算法以代码形式实现,以便能够对TCP或UDP通信数据进行加密处理。
保密服务封装:封装TCP或UDP的网络/0函数(如socket对象的read/write或recvfrom/sendto),以提供具有保密处理的新函数(如sec read/sec write或sec recvfrom/sec sendto)。这些新函数应该在数据传输之前对数据进行加密,在数据接收后对数据进行解密。
效率和延迟:研究需要考虑加密和解密过程对数据传输的影响。确保实现 ...
butterfly
default
문제some note for the config for Hexo
Inject12.3.0以上支持
如想添加額外的js/css/meta等等東西,可以在Inject裏添加,支持添加到head(標籤之前)和bottom(標籤之前)。
請注意:以標準的html格式添加內容
例如
12345inject: head: - <link rel="stylesheet" href="/self.css"> bottom: - <script src="xxxx"></script>
留意: 如果你的網站根目錄不是’/‘,使用本地圖片時,需加上你的根目錄。例如:網站是 https://yoursite.com/blog,引用css/xx.css,則設置為
CDN配置文件中最後一部分CDN,裏面是主題所引用到的文件,可自行配置CDN。(非必要請勿修改,配置後請確認鏈接是否能訪問)12345678910111213141516171819 ...