自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 58 - I 反转字符串

双指针class Solution: def reverseWords(self, s: str) -> str: s = s.strip() i = j = len(s) - 1 res = [] while i >= 0: while i >= 0 and s[i] != ' ': i -= 1 res.append(s[i+1:j+1])

2020-12-09 15:06:50 114

原创 win8 没有发现虚拟网卡 设置网卡失败

都要为当年的年少无知买单,哭出声,今时今日出现的千奇百怪的问题只因为当时想不开装了win8…故事的起因:装某vpn,安装错误,幸好虚拟机里还有win7, 经尝试win7分分钟顺利装上。。悔不当初又不想重装系统配环境的我选择一头道走到黑。日志文件显示初始化失败和虚拟网卡有关,万能的google baidu终于告诉了我答案,因为相比win7, win8自动禁用强制驱动签名。。。为毛不给个询问啊,哭晕。。解决方法:设置->更改电脑设置->更新和恢复->恢复->高级设置 立即重启-&

2020-07-06 20:30:20 1434

原创 win8.1 SecureBoot未正确配置

很久之前的遗留问题,这次为了排查vpn连不上的问题终于愿意解决了它…少一个补丁鹅已,装上水印就木有辣。Windows 8.1 32位系统:http://download.microsoft.com/download/1/7/7/1773F140-5739-4501-A345-D844861F7D4C/Windows8.1-KB2902864-x86.msuWindows 8.1 64位系统:http://download.microsoft.com/download/3/9/5/395E7226-B

2020-07-06 20:11:41 404

原创 152. 乘积最大子数组

区别于最大子序和,乘积有可能负负得正最大,所以维护一个最小值。注意原地更新的问题,这道题看了题解自己写还是出错了,发现问题在于cur, pre, 记录下错的,以免下次再犯:原地更新数组中的某个值,要确保更新前的值后面不再用到这里下一步还要用到更新前的cur_max,但cur_max已经更新。class Solution: def maxProduct(self, nums: List[int]) -> int: if not nums: return 0

2020-06-26 17:07:47 102

原创 53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和动态规划输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。分解子问题当前数大于0,当前位置最大和 = 之前的和 + 当前位置,否则当前位置最大和 = 之前的和DP方程base case: 从1开始状态定义:nums[i]表示当前位置连续子串的最大和class Solution: def maxSubA

2020-06-25 23:14:31 78

原创 1143. 最长公共子序列

递归画出递归状态树就很了然了,注意base是-1表示为空。没啥毛病,但是超时了。。。class Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: def helper(i, j): if i == -1 or j == -1: return 0 if text1[i] == text2[j]

2020-06-25 20:11:33 80

原创 62&63. 不同路径

62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?class Solution: def uniquePaths(self, m: int, n: int) -> int: dp = [[1] * n] + [[1] + [0] * (n - 1) for _ in range(m-1)]

2020-06-25 16:48:08 135

原创 计算机网络面试高频

文章目录1. OSI七层模型和TCP五层模型2. 面向连接型、面向无连接型3. UDP、TCP是什么?特点及区别4. TCP对应的应用层协议有哪些?UDP呢?5. TCP三次握手6. TCP四次挥手为什么会有TIME_WAIT状态?为什么是四次挥手而不是三次或者五次?ARQ协议?TCP的流量控制TCP拥塞控制1. OSI七层模型和TCP五层模型TCP五层模型相比OSI七层模型,将OSI的应用层、表示层和会话层合为一层:应用层,其他不变。物理层:利用物理传输介质为数据链路层提供物理连接,传输比特流。

2020-06-22 00:18:42 251

原创 55 &45 跳跃游戏

55. 跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。思路:贪心策略,实时维护最远可以到达的位置maxpos=(maxpos, i + num[i])。这个 i + num[i] 超级巧妙的哇!!!emm…也可能是我脑子不大够用QAQ对于当前遍历到的位置 ,如果它在 maxpos的范围内,就可以从起点通过若干次跳跃到达该位置,否则跳出class Solution: def canJump(sel

2020-06-22 00:13:10 100

原创 141. 环形链表

set有重复的都可考虑set dict.keyclass Solution: def hasCycle(self, head: ListNode) -> bool: s = set() while head: if head in s: return True s.add(head) head = head.next return Fals

2020-06-18 23:55:05 86

原创 21. 合并两个有序链表

递归class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: if not l1: return l2 if not l2: return l1 if l1.val <= l2.val: l1.next = self.mergeTwoLists(l1.next, l2) return l1

2020-06-18 23:50:52 78

原创 206. 反转链表

链表是经典的递归定义的数据结构,链表相关的题目常常考察递归递归子问题是什么:除去current node,翻转剩余链表,即除去1, reverseList(2->3->4->5),递归得到的解是 5->4->3->2base case是什么:当前节点为空,返回空,当前节点的next为空(只剩余一个节点),返回该节点处理当前层:翻转链表,即把1->2变为2->1,并释放当前层指向下一层的指针(注意:若不释放,2,3,4指向原本下一个3,4,5的

2020-06-18 22:09:33 73

原创 15. 三数之和

题目给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]暴力解三层for循环显然很扯。。时间复杂度很高,存在大量冗余。当一个数固定时,剩余两个数的和就固定了,若数组有序,则可根据三数的和决定

2020-06-15 22:09:23 123

原创 283. 移动零

class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ i = j = 0 for i in range(len(nums)): if nums[i] != 0: nu

2020-06-15 20:31:10 70

原创 11. 盛最多水的容器

暴力解:两层for循环,挨个寻找面积最大的。时间复杂度O(n^2)双指针两边移动可想到双指针面积受限于:1 左右的距离 2 最短边的高度所以如果左右两边靠近,只可能是原来min(左,右)的一边移动,因为此时的max(左,右)对面积没有起到作用,再求前后面积的最大值。相比暴力解,抛去了一些冗余。class Solution: def maxArea(self, height: List[int]) -> int: l, r = 0, len(height) -

2020-06-15 20:27:27 65

原创 200. 岛屿数量 python

题目给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3遍历–>两种思路: DFS 或者 BFSDFSclass Solution: def numIslands(self, gri

2020-06-09 23:55:02 861

原创 102. 二叉树的层序遍历 python

BFS模板:deque的结构来模拟队列队列里肯定有一个初始点每次从队列出队一个元素并处理对元素进行扩张(具体要看怎么扩张)满足条件的扩张的点进队列循环处理deque中的元素,直到为空注意:辨识某题是 BFS :是否可衍生出递归状态树,可用dfs,bfs从哪些点开始扩张class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: if not root:

2020-06-09 16:50:31 143

原创 104. 二叉树的最大深度

递归# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def maxDepth(self, root: TreeNode) -> int: if not root:

2020-06-03 15:47:59 78

原创 226. 翻转二叉树

递归# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def invertTree(self, root: TreeNode) -> TreeNode: if not ro

2020-06-03 11:24:15 121

原创 101. 对称二叉树 python 迭代 递归

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3递归:首先以根节点以及其左右子树,左子树的左子树和右子树的右子树相同,左子树的右子树和右子树的左子树相同,两个条件都要符合所以我们第一个传根节点的左子树和右

2020-06-03 10:56:26 190

原创 1. 两数之和 python 哈希表

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。nums = [2, 7, 11, 15], target = 9[0, 1]暴力时间复杂度O(n^2),可以把查询第二个值的时间复杂度从O(n)降为O(1)哈希表时间、空间复杂度O(n)class Solution: def twoSum(self, nums: List[int], ta

2020-06-01 11:18:39 456

原创 94. 二叉树的中序遍历 144. 二叉树的前序遍历

递归中序# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def inorderTraversal(self, root: TreeNode) -> List[int]:

2020-05-30 23:29:39 75

原创 242. 有效的字母异位词 python

题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。输入: s = "anagram", t = "nagaram"输出: true输入: s = "rat", t = "car"输出: falsehash map dictcollections.defaultdict(int): 访问dict中不存在的key值不报错,默认值为0class Solution: def isAnagram(self, s: str, t: str) -> bo

2020-05-30 22:16:47 210

原创 347. 前 K 个高频元素 python

题目给定一个非空的整数数组,返回其中出现频率前 k 高的元素。输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]输入: nums = [1], k = 1输出: [1]排序解法:使用哈希表(python 中字典)来存储各个元素出现的次数,键(key)为对应元素,值(value)为对应元素出现个数。再对该哈希表(字典)按照值进行排序。class Solution: def topKFrequent(self, nums: List[int], k: i

2020-05-30 17:40:39 817 1

原创 面试题59 - I. 滑动窗口的最大值 python双端队列

暴力解遍历nums,遍历每个窗口中的值找出最大,但显然不是这题的意思class Solution: def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]: if k > len(nums) or k <= 0: return [] res = [] for i in range(len(nums)-k+1):

2020-05-30 13:14:42 239 1

原创 40 最小的k个数(python)

题目输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8 这8个数字,则最小的4个数字是1、2、3、4。方法一:(最简单的思路)整体排序后取前k个数class Solution: def getLeastNumbers(self, arr: List[int], k: int) -> List[int]: return sorted(arr)[:k]复杂度:O(nlogn)方法二:k轮冒泡排序class Solution: def g

2020-05-29 21:09:51 472

原创 214. 最短回文串(python) hard 暴力解 + O(n) KMP解法

题目给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。输入: "aacecaaa"输出: "aaacecaaa"输入: "abcd"输出: "dcbabcd"暴力解(思路很简单):— 字符串右边是齐全的,逐渐去掉末尾的元素,看这个字符串是否对称— 对称: 反转字符串并和原来比较,相等即对称。— 找到对称的部分,把前面去除的末尾元素反转后加到原字符串前巧妙class Solution: def shortestPal

2020-05-29 11:07:45 348

原创 665. 非递减数列(python)easy

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。输入: nums = [4,2,1]输出: false解释: 你不能在只改变一个元素的情况下将其变为非递减数列。思路:class Solution: def checkPossibility(self, nums: List[int]) -> bool:

2020-05-29 10:31:17 362

原创 git fatal: HttpRequestException encountered

关于git(一)=>fatal: HttpRequestException encounteredGit [已解决] 如何删除 GitHub 上 repository 里的某个文件?

2020-05-26 15:37:50 235

原创 299. 猜数字游戏(python)

你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,用 A 表示公牛,用 B 表示奶牛。请注意秘密数字和朋友的猜测数都可能含有重复数字。输入: secret = "1807", guess = "7810"输

2020-05-23 11:34:02 337

原创 290. 单词规律

思路:pattern = "abba", str = "dog cat cat dog" a b b adog cat cat dog ^ i 第一次遇到 a, 加入到 HashMap HashMap = {a:dog} a b b adog cat cat dog ^ i 第一次遇到 b, 加入到 HashMap HashMap = {a: dog, b: cat} a b b adog cat cat dog

2020-05-23 10:17:18 172

原创 21. 合并两个有序链表

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的输入:1->2->4, 1->3->4输出:1->1->2->3->4->4递归# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclas

2020-05-22 22:27:46 131

原创 特征工程

概述本质上说,是在表示和展现数据。去除数据中的冗余、杂质,设计更高效的特征输入模型。— 结构化数据:数值型 类别型— 非结构化数据:文本、图像等,无法数值表示,也没有清晰的类别特征归一化适用于–数值型特征,通过梯度下降法求解的模型一般是需要归一化的(LR、SVM、NN等)1.目的:消除特征之间的量纲影响,使各指标处于同一数量级。2. 原因:学习率alpa相同时,量纲大的特征更新速度快,需要更多的迭代才能招待最优解。归一化可使特征的更新速度更为一致,更快地通过梯度下降找到最优解。不适用于决策

2020-05-22 21:53:34 140

原创 mysql 复制数据表 等级查询(rank) 连接查询(join)

查询成绩比该课程平均成绩低的同学的成绩表—复制表:由于同表同字段不能同时比较# select * from score a where sc_degree < (select avg(sc_degree) from score b where a.c_no = b.c_no);+------+-------+-----------+| s_no | c_no | sc_degree |+------+-------+-----------+| 105 | 6-166 | .

2020-05-22 17:49:33 255

原创 24. 两两交换链表中的节点

题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。注意:你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。给定 1->2->3->4, 你应该返回 2->1->4->3.思路—需要创建dummy结点,返回dummy节点.next,否则head被交换或删除时需记录新head的位置才能返回—两两交换,python两指针可同时交换,不需要中间节点—循环条件:只要这一对节点存在class ListNode: def __.

2020-05-22 10:42:34 140

原创 mysql子查询、重命名as、 not in、any、all、year、union

查询所有的学生 s_name , c_no, sc_degree列select s_name, c_no, sc_degree from student, score where student.s_no = score.s_no; +--------+-------+-----------+| s_name | c_no | sc_degree |+--------+-------+-----------+| 王丽 | 3-105 | 92 || 王丽 | 6-16.

2020-05-21 22:59:36 610

原创 mysql查询练习 distinct count max avg limit x,y order by desc, asc having(分组) where(分行) like

查询table student中所有记录SELECT * FROM student;2. 查询student表中所有记录的s_name,s_sex和s_class列select s_name, s_sex, s_class from student;查询教师所有的单位(t_depart)但是不重复的t_depart列select distinct(t_depart) from teacher;+------------+| t_depart |+------------+.

2020-05-21 19:37:37 4588

原创 mysql数据库范式

范式的目的减小数据的冗余性提高效率第一范式属性的原子性,每列不可再分解;如:出生年月日—>年、月、日 便于后续修改第二范式记录的惟一性,说明一个事物;属性必须完全依赖于主键,不能存在部分依赖如:说明了三个事物:学生信息、系信息、课程信息存在的部分依赖:姓名对学号存在部分依赖、系名对学号存在部分依赖、系主任对学号存在部分依赖可能会存在问题:数据冗余:表中的第一行数据都存储了系名、系主任,数据的冗余太大插入异常:如果有一个新的系还没有开始找到学生,那么不能讲该系的信息添加到

2020-05-21 11:16:49 141

原创 unstack stack

unstack stackstack:将数据的列“旋转”为行unstack:将数据的行“旋转”为列import numpy as npimport pandas as pdfrom pandas import Series,DataFramedata=DataFrame(np.arange(6).reshape((2,3)),index=pd.Index(['street1','street2']),columns=pd.Index(['one','two','three']))print(d

2020-05-18 10:34:26 220

原创 agg 列重命名

pandasaggpandas版本迭代说明不同列同列重命名

2020-05-18 10:20:07 1022

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除