- 博客(19)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
原创 leetcode 36. 有效的数独
判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 '.' 表示。示例 1:输入:[ ["5","3",".",".","7",".","
2018-05-18 07:05:17 387
原创 leetcode 34. 搜索范围
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10], target = 6...
2018-05-16 21:30:17 2171
原创 leetcode 33. 搜索旋转排序数组
假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], target = 0...
2018-05-15 23:17:49 499
原创 leetcode 31. 下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1解法一:class Solution {public: void...
2018-05-14 22:42:57 386
原创 leetcode 29. 两数相除
给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。示例 1:输入: dividend = 10, divisor = 3输出: 3示例 2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均为 32 位有符号整数。除数不为...
2018-05-14 21:36:53 3135 1
原创 leetcode 24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。思路:1.p代表上一对交换完成的节点中的后者。l代表即将进行交换节点对的左节点,r代表即将进行交换节点对的右节点。2.首先将l指向r的下...
2018-05-12 10:19:29 1262
原创 leetcode 22. 括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]此题时卡特兰数的一个应用。抓中重点:只有右括号大于左括号时才能在尾部插入右括号class Solution {public: void fu...
2018-05-11 23:03:24 318
原创 利用 Anaconda 解决 Python2 和 python3 共存问题
anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 515 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。直接在官网下载最新版本的https://www.continuum.io/d...
2018-05-11 00:05:55 1252
原创 leetcode 19. 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。解法一:需要两趟扫描/** * Definition for singly-linked list. * struct Li...
2018-05-10 23:13:00 361 1
原创 leetcode 18. 四数之和
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c +d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[ [-1...
2018-05-09 21:54:01 1642
原创 leetcode 17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的
2018-05-08 10:47:29 893
原创 leetcode 16. 最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).本题与上一题leetcode 15.三数之和ht...
2018-05-07 09:22:04 506
原创 leetcode 15. 三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]注意分析问题,i顺序遍历;j也顺序...
2018-05-06 20:35:42 619
原创 关于‘\0',"\0",‘0’,“0”以及空格之间的区别和字符串输入到字符数组的问题
1. '\0'和 "\0""\0"表示是一个字符串(数组),它包含两个字符,并且都是结束符\0。'\0'表示单一字符,即转义字符。输出的时候,"\0"和空串相当,不输出任何东西,ASCII码为0的字符‘\0’即控制字符Null输出一个空格。对于C,C++原生字符串(包括字符串字面值),其中的第一个"\0",意味着字符串结束,如果串的第一个字符就是‘\0’,那么当作空串输出,"\0"就相当于"&quo
2018-05-05 16:32:02 7235
原创 leetcode 11. 盛最多水的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。注意:你不能倾斜容器,n 至少是2。class Solution {public: int maxArea(vector<int>&...
2018-05-05 11:30:27 265
原创 TCP的三次握手和四次挥手
TCP的三次握手:第一次握手 客户端向服务端发送连接请求报文段。该报文段的头部中SYN=1,ACK=0,seq=x。请求发送后,客户端便进入SYN-SENT状态。PS1:SYN=1,ACK=0表示该报文段为连接请求报文。PS2:x为本次TCP通信的字节流的初始序号。 TCP规定:SYN=1的报文段不能有数据部分,但要消耗掉一个序号。第二次握手 服务端收到连接请求报文段后,如果同意连接,则会发送一个...
2018-05-05 09:40:18 255
原创 leetcode 8. 字符串转整数 (atoi)
实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个非空字符序列不是个...
2018-05-04 17:26:13 168
原创 leetcode 6. Z字形变换
将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "PAYPALISHIRING", numRows ...
2018-05-03 22:14:44 253
原创 leetcode 5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解法一:暴力解法,遍历s中的每一个子字符串class Solution {public: string longestPalindrome(string s) {/...
2018-05-02 22:38:56 260
算法导论(原书第3版) 中文完整版 高清扫描版
2018-05-09
深入理解计算机系统 第二版.pdf
2018-05-09
离散数学及其应用(中文第六版)_扫描版
2018-05-09
计算机网络-自顶向下方法(第六版)
2018-05-09
计算机体系结构:量化研究方法(中文第五版)
2018-05-09
编译原理 第二版
2018-05-09
《操作系统精髓与设计原理(原书第6版)》PDF中文版.pdf
2018-05-09
从0开始学习GitHub系列
2018-04-19
常用的连续傅里叶变换对及连续傅里叶变换性质
2018-04-19
各位大神,有字节跳动Linux内核研发工程师的面经吗
2021-02-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人