- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 C++调用Boost库编写Python扩展模块
环境Windows 7 SP1Visual Studio 2019 - C++桌面开发组件TDM-GCC-64Python 3.7.7boost 1.73编译步骤从boost官网中下载源码文件win+r打开cmd,使用cd跳转到boost_1_73_0目录下,参照Boost文档编译出系统对应python版本的Boost.Python动态库。[指令选项对应py版本和生成动态库,如需要别的动态库,更多指令选项请查看说明]bootstrap --with-python=3.7.7
2021-02-07 09:30:18
400
原创 968题:监控二叉树(hard)
给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。https://leetcode-cn.com/problems/binary-tree-cameras/节点有三种状态。递归从叶子节点开始处理。//来自garrybest的答案class Solution { private int ans = 0; public int minCameraCover(TreeNode r.
2020-09-22 15:24:58
196
原创 78题:子集
https://leetcode-cn.com/problems/subsets/class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> result = new ArrayList<>(); List<Integer> grp = new ArrayList<>(.
2020-09-20 23:16:37
177
原创 1010题:总持续时间可被 60 整除的歌曲
在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i 和 j 满足 i < j 且有(time[i] + time[j]) % 60 == 0。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pairs-of-songs-with-total-durations-divisible-by-60著作权归领扣网络所有。商业转载请联系官方授.
2020-09-13 23:42:12
149
原创 21题:合并两个有序链表
https://leetcode-cn.com/problems/merge-two-sorted-lists/将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:1->2->4, 1->3->4输出:1->1->2->3->4->4class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { .
2020-08-17 15:18:30
104
原创 74题:搜索二维矩阵
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-a-2d-matrix著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution { public static boolean searchMatrix(int[][].
2020-08-09 13:44:45
148
原创 50题:Pow(x, n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数。https://leetcode-cn.com/problems/powx-n/-100.0 < x < 100.0n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。折半计算,和29题类似。有个测试用例为-2147483648,恰好为−231,直接符号反转会导致溢出,因此先减少数值再做符号反转。class Solution { public double myPow(double x, i.
2020-08-06 22:09:37
341
原创 71题:简化路径
以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 /结尾。此外,规范路径必须是表示绝对路径的最短字符串。来源:.
2020-08-06 21:45:21
138
原创 110题:平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。https://leetcode-cn.com/problems/balanced-binary-tree/深度值是一个很好地反映子树是否失衡的量。设当深度值为-1时,二叉树失衡。getDepth递归函数 :从叶子节点开始计算深度。计算非叶子节点的左右子树深度,如果相差值大于1,则返回-1表示失衡。该函数的具体逻辑为:首先节点如果为空,直接返回深度。.
2020-08-04 16:42:35
337
原创 Java常用修饰词——修饰对象及意义总结
publicstatic注:不影响修饰对象的访问权限。类:内部类。方法:静态方法不依赖于任何对象就能进行访问,所以方法内只能使用静态变量及静态方法。字段(成员):静态成员被所有对象共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。静态成员的初始化顺序按照定义的顺序进行初始化。代码块:静态代码块可以出现在类的任何一个地方,在类初次加载的时候按顺序执行,且只执行一次。...
2020-08-04 12:26:30
1161
原创 29题:两数相除
给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。被除数和除数均为 32 位有符号整数。除数不为 0。假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。本题中,如果除法结果溢出,则返回 2^31 − 1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/divide-.
2020-08-01 23:43:23
169
原创 面试题08.03题:魔术索引
魔术索引。 在数组A[0…n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/magic-index-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。因为题目提供有序序列,且允许重复元素,所以应该使用跳跃法跳过索引追赶.
2020-07-31 19:01:44
124
原创 28题:实现 strStr() (从结果看KMP)
https://leetcode-cn.com/problems/implement-strstr/func strStr(haystack string, needle string) int { n:=len(haystack) m:=len(needle) if m == 0{ return 0 } if n < m{ return -1 } next, q := getNext(needle), 0 .
2020-07-30 13:39:40
124
原创 991题:坏了的计算器
在显示着数字的坏计算器上,我们可以执行以下两种操作:双倍(Double):将显示屏上的数字乘 2;递减(Decrement):将显示屏上的数字减 1 。最初,计算器显示数字 X。返回显示数字 Y 所需的最小操作数。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/broken-calculator著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。func brokenCalc(X int, Y int) int { .
2020-07-29 01:14:30
290
原创 497题:非重叠矩形中的随机点
给定一个非重叠轴对齐矩形的列表 rects,写一个函数 pick 随机均匀地选取矩形覆盖的空间中的整数点。https://leetcode-cn.com/problems/random-point-in-non-overlapping-rectangles/import "math/rand"import "time"type Solution struct { P_map []int Elem [][]int Maxarea int}func Construc.
2020-07-28 20:50:53
131
原创 104题:二叉树的最大深度
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。给定一个二叉树,找出其最大深度。https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/func maxDepth(root *TreeNode) int { var cal func(p *TreeNode) int cal = func(p *TreeNode) int{ if p == nil{ return 0.
2020-07-28 15:18:25
154
原创 64题:最小路径和(基础动态规划)
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。地址:https://leetcode-cn.com/problems/minimum-path-sum/最开始使用递归寻找子问题的解,提交超时。然后老老实实写了迭代,用数组存放子问题的结果以免重复计算。func minPathSum(grid [][]int) int { min := func(a, b int) int { if a < b.
2020-07-27 03:13:11
139
原创 94题:二叉树的中序遍历
递归func inorderTraversal(root *TreeNode) []int { return inorderRecursive(root)}func inorderRecursive(root *TreeNode) []int { if root == nil { return []int{} } rest := append(inorderRecursive(root.Left), root.Val) rest = append(rest, inorderRecurs
2020-07-23 15:58:46
127
原创 34题:在排序数组中查找元素的第一个和最后一个位置(go)
题目链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/题解链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/solution/qiao-yong-gohan-shu-zi-mian-liang-er-fen-cha-zhao-/来源:力扣.
2020-07-22 13:56:13
196
原创 20题:有效的括号(golang)
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。func isValid(s string) bool { var stk.
2020-07-22 11:34:47
205
转载 PS2维修常识
国内PS2的直读和破解,在2002到2003年进入普及期,从那段时间开始,购买PS2的玩家是迅速激增起来。2004年底超薄版PS2的推出,更加是让PS2在国内走进真正普及。由此推算,PS2老机现在其实已经进入故障期和维修期,这也正好解释了近期为什么那么多玩家拿PS2去电玩卖场去维修。PS2常见硬件故障及分类众所周知,PS2的软件系统是内部固化的,并不具备可升级性和修改性。加上PS2直读芯片通过大量连线和焊点,架接在PS2的电路板上面。另外超薄版PS2的内部空间较小,散热方面设计得不如厚版,长时间运行之后
2020-07-08 15:52:13
7757
原创 24题:两两交换链表中的节点(迭代)
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.力扣:https://leetcode-cn.com/problems/swap-nodes-in-pairs/做这道题让我懂得了,前置指针的手很长,可以比后面的指针干更多的事。所以评论区里就出现了只用一个前置指针做题的老哥,但是对我来说太费脑子,可读性不强。以下是我的.
2020-06-28 20:37:48
186
原创 1030题:距离顺序排列矩阵单元格(桶排序)
给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为 (r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2)之间的距离是曼哈顿距离,|r1 - r2| + |c1 - c2|。(你可以按任何满足此条件的顺序返回答案。)来源:力扣(LeetCode)链接:htt.
2020-06-26 21:55:53
165
原创 【日常】Golang数组(切片)的注意点
根据变量值确定容量的二维数组声明方法首先申请容量为row,单位为[]int的切片,再遍历每个单位去申请容量为col的int切片。range方法返回的第二个参数不能直接用于接受内存分配,提示:declared and not usedmake([row][col]int) 不行,提示:non-constant array bound col(但,常数也不行)import "fmt"func getArray(row int, col int) [][]int { obj := make(
2020-06-26 20:25:04
233
原创 17题:电话号码的字母组合(Golang)
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/思路是构建一棵树或者DFS。我假想了树的形式,预先申请了叶子节点数量的字符串数组,然后构建下标表达式,将结果放到相应的位置。可惜做题的时候跳了好多个坑,干的活又累又久:range遍历方法返回的第二个值,就仅仅是.
2020-06-26 10:09:09
504
原创 2题:链表形式的两数相加(Golang)
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:————————————————输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807//来源:力扣(LeetCode.
2020-06-24 01:01:31
459
原创 11题:盛最多水的容器O(n)
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。//说明:你不能倾斜容器,且 n 的值至少为 2。//来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water著作权归领扣网络所有。商业转载请联系官方授权.
2020-06-23 23:38:37
153
原创 1题:两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。这道题原理是 根据遍历当前值使用哈希查找目标值的下标 。在有“元素不能使用两遍”限制的情况下,可以通过创建Map[in.
2020-06-23 00:42:59
174
原创 面试题之最小K个数
最小/最大K个数 是面试容易提及的其中一个问题,此处用快排思路解决。只不过递归的时候需要分歧选择最接近K的方向,以免产生多余的排序工作。func Qsort(arr []int, low, high int) int{ keyNumber := (low+high)/2 key, left, right := arr[keyNumber], low, high arr[keyNumber] = arr[left] for ;left < right; {
2020-06-22 22:29:59
119
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人