LiuZhian's Blog

Welcome to my home~

LeetCode-29-两数相除

描述给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。1234567示例 1:输入: dividend = 10, divisor = 3输出: 3示例 2:输入: dividend = 7, divisor = -3输出: -2说明: 被除数和除数均为 32......

一文读懂网络报问中的检验和(checksum)—— 原理+举例+代码

如何求解网络报文中的checksum?最近在学习计算机网络,在运输层和网络层部分存在各种协议TCP、UDP、IP、ICMP等等,而在这些报文中都存在一个公共的字段——检验和(checksum)。接下来,我将从什么是检验和、检验和怎么算、检验和计算示例、python代码计算检验和这几个部分详细介绍。 什么是检验和?检验和是存在于各种报文中的一个字段,它存在的目的是验证报文在网络传输过程中的完整......

LeetCod-4-两个排序数组的中位数

题目内容描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 你可以假设 nums1 和 nums2 均不为空。 示例: 示例1 1234nums1 = [1, 3]nums2 = [2]中位数是 2.0 示例2 1234nums1 = [1, 2]nums2 = [3, 4]中位......

LeetCode-14-最长公共前缀

描述编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例1:12输入: ["flower","flow","flight"]输出: "fl" 示例2:123输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。 说明所有输入只包含小写字母 a-z so easy的题12345678910111213141516......

LeetCode-12&13-整数与罗马数字相互转化

说明如果你在写这个程序的时候,发现你在IDE上运行结果完全正确,而在网站上总是Wrong Answer,恭喜你,这将让你倍涨经验(起码我找了很久才发现这个问题) 字典是存放顺序与你输入的顺序是不一样的!!!迭代读取的时候一定要小心!!!!!下面讲下经过。。。 描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 12345678字符 数值I ......

LeetCode-2-两数相加

其实很早之前就接触到了LeetCode,原来也刷过一些题,但是乱七八糟的事太多了也没空刷一刷,最近在家没事准备玩一玩了。好吧,我承认我python学的不好,一天速成的(OOP的python风格我都不太记得了),于是选择了用python,希望可以加强一下我的渣python。 Okay,闲话不多说,今天写的也是一个比较简单的题目,LeetCode-2-两数相加。 题目内容描述给定两个非空链表来......

LeetCode-3-最长不重复子串

题目内容描述给定一个字符串,找出不含有重复字符的最长子串的长度。 示例:给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。 思路 1——暴力求解粗略的想法就是,把字符......

LeetCode-5-最长回文子串

题目内容描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例: 示例1 123输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。 示例2 12输入: "cbbd"输出: "bb" 解法1 —— 暴力法我觉得这应该是最开始的想法吧,简单粗暴,两个指针把所有可能的子串都定出来,然后写个判断是否是回文的函数。缺点就是时间复......

LeetCode-6-Z字形变换

题目内容描述将字符串 "PAYPALISHIRING"以Z字形排列成给定的行数: 123P A H NA P L S I I GY I R 之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR" 实现一个将字符串进行指定行数变换的函数:1string convert(string s, int numRows); 示例: 示例......

LeetCode-8-字符串转整数 (atoi)

题目内容描述实现 atoi,将字符串转为整数。 在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。 当字符串中的......