松鼠霖
松鼠霖
全部文章
题解
归档
标签
去牛客网
登录
/
注册
松鼠霖的博客
全部文章
/ 题解
(共48篇)
题解 | #链表中倒数最后k个结点#
其实想法也很简单,用我们常用的列表来进行中间操作,就是用一个stack保存原本链表的所有值,然后再新建两个链表 res和res2 分别用来输出结果 和 迭代 ListNode的next节点 class Solution: def FindKthToT...
ListNode
链表
2021-09-06
0
338
题解 | #调整数组顺序使奇数位于偶数前面#
很简单能想到用两个stack分别保存奇数偶数,然后合并到一起,不过要注意 extend()函数没有返回值,是在原list上操作, 所以可以用“+”号来合并两个 list array, 多维数组变成一维数组,flatten()函数用法: flatten是numpy.ndarray.fla...
extend()
+
列表合并
flatten()
2021-09-06
0
328
题解 | #数值的整数次方#
第一想法就是用函数pow或者直接写表达式: class Solution: def Power(self, base, exponent): # write code here &n...
幂函数
pow()
迭代
2021-09-06
0
274
题解 | #二进制中1的个数#
首先要想到的是,将十进制全部转换成二进制后,开始统计1的个数,解法1为:将该二进制数转化为字符串,然后对该字符串进行遍历,如果等于1,计数器+1; 但是注意此处转换二进制时,正数可以直用bin(),oct(),int(). hex() 如果是正整数,直接转换成...
进制转换
bin()
补码
0xffffffff
2021-09-06
0
370
题解 | #矩形覆盖#
其实找规律可以找出就是斐波那契数列,f[n] = f[n-1] + f[n-2],初始条件f[0] = 0, f[1] = 1, f[2] =2 # -*- coding:utf-8 -*- class Solution: def rectCover...
斐波那契数列,
递归
数学逻辑
2021-09-03
0
473
题解 | #二维数组中的查找#
第一反应就是遍历: # -*- coding:utf-8-*- classSolution: # array 二维列表 def Find(self,...
遍历
数组
list
2021-09-03
0
304
题解 | #构建乘积数组#
根据题目描述,如果可以使用除法,就很简单。但是要求不能使用。 假设: left[i] = A[0]*...*A[i-1] right[i] = A[i+1]*...*A[n-1] 所以: B[i] = left[i] * right[i] 很自然...
遍历
2021-09-03
0
311
题解 | #不用加减乘除做加法#
面对本题,一般思路直接return sum(num1, num2)就可以了,但是本题不知道能不能用这种哈哈 1、在计算机内部的操作都是由门电路实现,加法也一定由位运算实现; 2、不确定使用何种位运算情况,可以进行打表找规律(如下); A(i) B...
sum()
求和
位运算
2021-09-03
0
336
题解 | #二叉搜索树的第k个结点#
第一想法很简单,就是学习前面“之”字型的方式,用一个 stack[] 把所有二叉树的Node按顺序从左到右收集起来,然后保存在,每次pop()一个node保存在res[]里,然后遍历res[]得到node的value值保存在res_value[]里, 然后使用sort()排序,最后返回指定第K...
二叉树
sort()
遍历
顺序
TreeNode
pop()
2021-09-02
0
387
题解 | #按之字形顺序打印二叉树#
一旦看到这种有关顺序的,第一个就要想到用栈或队列实现,有这个思路才能进一步实现、优化。 比如这道题,要求 “第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印”,显然,如果能直接利用栈或队列的特性,就能实现题目要求的各种顺序了。 算法流程: ...
栈
队列
顺序
二叉树
TreeNode
2021-09-01
0
339
首页
上一页
1
2
3
4
5
下一页
末页