自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用排序算法

源码如下:class Solution {private: /*void max_heapify(vector<int> &a, int start, int end) { //https://baike.baidu.com/item/%E5%A0%86%E6%8E%92%E5%BA%8F/2840151?fr=aladdin //建立父节点指标和子节点指标 ...

2020-01-09 17:04:31 148

原创 leetcode 343. 整数拆分(动态规划)

思路来源:https://leetcode-cn.com/problems/integer-break/solution/pythondp-tong-su-yi-dong-an-zhao-zi-ji-de-bu-fa-la/https://leetcode-cn.com/problems/integer-break/solution/bao-li-sou-suo-ji-yi-hua-sou-su...

2019-10-30 16:33:34 259

原创 leetcode 638(递归)

在LeetCode商店中, 有许多在售的物品。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字分别表示内含的其他种类物品的数量。任意大礼包可无限次购买。示例 1:输入: [2,5], [[3,0,...

2019-10-29 16:25:30 265

原创 leetcode 841. 钥匙和房间(深度优先递归版)

有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,…,N-1] 中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。最初,除 ...

2019-10-18 17:13:26 237

原创 go结构体方法使用样例

问题来源:https://blog.csdn.net/vs974532452/article/details/102588860package maintype result struct { res [][]int}func combinationSum3(k int, n int) [][]int { var this result var temp []int this...

2019-10-16 17:09:00 298

原创 leetcode 216. 组合总和 III(回溯法)

算法思路:https://leetcode-cn.com/problems/combination-sum-iii/solution/hua-jie-suan-fa-216-zu-he-zong-he-iii-by-guanpengc/python代码:class Solution(): def combinationSum3(self, k, n): """ ...

2019-10-16 17:02:11 128

原创 12 二叉搜索树的操作

#include <iostream>#include <vector>using namespace std;typedef struct Tree { int key; Tree *left; Tree *right; Tree *parent;}Tree;//必须对root为引用或者指向指针操作,涉及到改变root本身地址问题 void Tre...

2019-10-15 14:21:20 85

原创 885. 螺旋矩阵 III

https://www.cnblogs.com/grandyang/p/10887598.htmlhttps://leetcode-cn.com/problems/spiral-matrix-iii/class Solution(object): def spiralMatrixIII(self, R, C, r0, c0): """ :type R: ...

2019-10-13 19:28:16 173 1

原创 leetcode 148. 排序链表

算法思想 :参考博客 :https://blog.csdn.net/qq_34364995/article/details/80994110#commentBoxhttps://blog.csdn.net/taotao12312/article/details/69664351归并排序每次递归需要用到一个辅助表,长度与待排序的表相等,虽然递归次数是O(log2n),但每次递归都会释放掉所占的辅...

2019-10-11 17:17:00 85

原创 647. 回文子串 (动态规划)

给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a", "a", "a", "aa", "aa", "aaa".来源:力扣(Le...

2019-10-07 17:26:13 173

原创 7.1 快速排序

算法思想:通过递归将待排序元素分为小于主元元素和大于主元元素两部分。元素都满足主元前的所有元素小于(大于)主元后的元素。算法特征:期望时间复杂度O(nlgn),最坏情况时间复杂度为O(n^2)(子问题划分为n-1个元素和0个元素)代码如下:#include <iostream>#include <vector>using namespace std;int ...

2019-10-06 17:11:55 737

原创 golang切割字符串和字符串数字相互转化

问题源自leetcode 537参考链接:https://studygolang.com/articles/19574?fr=sidebar代码如下:package mainimport ( "strconv" "strings")func complexNumberMultiply(a string, b string) string { //strconv.Atoi()字...

2019-10-05 15:50:42 2779

原创 go语言构造函数的使用

用其实现173. 二叉搜索树迭代器实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。注 :此部分内容不太懂,作为笔记后续再补充代码实现:package main//Definition for a binary tree node. type TreeNode struct { Val int ...

2019-10-04 16:46:20 807

原创 leetcode 279. 完全平方数(python动态规划)

动态转移方程:动态转移方程为:dp[i] = MIN(dp[i], dp[i - j * j] + 1),i表示当前数字,jj表示平方数dp[i - j * j] + 1解释如下:假设m满足最少完全平方个数,m = f(n)n满足 ∑(A[i] * A[i]) = n假设k满足最小值m的时候的值,则令 d + k * k = n, d >= k可得 f(d) + f(k * k) ...

2019-10-02 21:55:03 569

原创 6.4堆排序

算法思想: 建立堆(建立过程中时刻维护堆,使其每个子树(堆可看作一个二叉树)都满足堆的定义),堆的根节点值最大,可获得该根节点并删去,将剩下的结点继续调整为堆,依次操作,每次都能获得当前最大元素,最后即为排序结果。时间复杂度:O(nlgn);空间复杂度:O(1)(因为可以将每次获得结果直接存储到当前数组里,因此没必要在额外的开辟空间)代码实现:#include <iostream&gt...

2019-10-02 16:25:21 139

原创 leetcode 712. 两个字符串的最小ASCII删除和 (python动态规划)

给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和。示例 1:输入: s1 = "sea", s2 = "eat"输出: 231解释: 在 "sea" 中删除 "s" 并将 "s" 的值(115)加入总和。在 "eat" 中删除 "t" 并将 116 加入总和。结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最小和。示例 2:...

2019-10-01 21:43:05 186

原创 leetcode 109. 有序链表转换二叉搜索树(python)

给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:```python给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 ...

2019-09-26 11:23:01 436

原创 4.1 分治法(最大子数组)

A[low…high]的任何连续子数组A[i…j]所处的位置必然是以下三种情况之一:完全位于子数组A[low…mid]中, low <=i<=j<=mid.完全位于子数组A[mid+1…high].mid<i<=j<=high跨越了中点,low<=i<=mid<j<=high.时间复杂度 O(nlgn) + O(n),其中O(n...

2019-09-23 22:32:08 190

原创 leetcode 22. 括号生成(python)

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parenthese...

2019-09-23 15:53:59 153

原创 2.3.1 分治法(归并排序)

分治法模式:分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。解决这些子问题,递归地求解各子问题。然而,若子问题的规模足够小,则直接求解。合并这些子问题的解成原问题的解。对于归并排序:分解:分解待排序的n个元素的序列成各具n/2个元素的两个子序列。解决:使用归并排序递归地排序两个子序列。合并:合并两个已排序的子序列。算法特征:时间复杂度为O(nlgn),不稳定排序。#...

2019-09-22 16:54:50 152

原创 golang切片里的坑

切片的传递为地址传递,但有以下问题:1. 切片传递问题:切片本身传递给函数形参时是引用传递,但append后,切片长度变化时会被重新分配内存,而原来的切片还是指向原来地址,致使与初始状况传进来的地址不一样,要想对其值有改变操作,需使用指针类型操作。// Findlinks1 prints the links in an HTML document read from standard inp...

2019-09-21 17:46:22 834

原创 leetcode 78. 子集(python回溯法)

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...

2019-09-21 15:14:42 985

原创 2.1插入排序

算法思想:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止(点击此处查看)。特征:简单直观且稳定,算法适用于少量数据的排序,时间复杂度为O(n^2)实现代码如下:#include <iostream>#include <vector>using namespace std;//容器需要引用传递才能改变里面的...

2019-09-20 14:57:50 89

原创 leetcode 64. 最小路径和(python)

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...

2019-09-19 16:26:30 627 1

原创 1104. 二叉树寻路(python)

在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按 “之” 字形进行标记。如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记;而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记。给你树上某一个节点的标号 label,请你返回从根节点到该标号为 label 节点的路径,该路径是由途经的节点标号所组成的。示例 1:输入...

2019-09-19 09:58:07 375

原创 442. 数组中重复的数据

给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-...

2019-09-12 11:25:44 139

原创 合并两个升序的数组

将升序数组A1和A2进行合并操作,合并后的数组也保持升序,且数组A1的空间长度大于A1和A2的元素个数之和。再不开辟其它空间的情况下代码如下:def mergeArray(): A1 = [1, 4, 8] A2 = [2, 5, 6] L1 = len(A1) - 1 L2 = len(A2) - 1 for _ in range(4): ...

2019-09-09 10:57:04 1573

原创 逆向的拓扑排序(python)

拓扑排序概念请点击处查看,逆拓扑即考虑出度为0的情况。python代码如下(采用字典构建图的邻接结构实现)::def inverseTopsortTask(G): topRes = [] # 存储拓扑排序后的结果 vexDegree = {} # 存储各节点的出度 # 获取图的所有节点 vertex = [vex for vex in G.keys()] ...

2019-07-28 16:46:06 673

原创 leetcode竞赛146场第一题笔记(python)

等价的骨牌对排序后的结果必然相同,故先对内部的每个数组排序,然后用字典记录相同元素的个数,如d[a]=1,表示在所有骨牌里a个数为1.可发现规律,2个相同的有一对,3个相同的有(2+1)对,4个相同的有(3+2+!)对。最后只需将排序后个数大于一的按此规律累加即可。class Solution(object): def numEquivDominoPairs(self, dominoes...

2019-07-21 16:37:34 110

原创 安装z3-solver(python库)失败z3.z3types.Z3Exception: libz3.dll not found.

安装z3-solver报错Could not find libz3.dll; consider adding the directory containing it to - your system's PATH environment variable, - the Z3_LIBRARY_PATH environment variable, or - to the custom Z...

2019-07-19 08:29:40 2398 1

原创 leetcode 102.二叉树的层次遍历(python)

二叉树层次遍历:顾名思义,层次遍历就是将二叉树从上层到下层,每层有从左到右的遍历。如下图所示可以用队列实现,根节点先进队。然后出队,再依次遍历其左右子节点;依此类推。按上图遍厉过程为:A先入队,访问B、C并入队,B出队,访问D,E并入队,C出队,访问E并入队。给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,nu...

2019-07-17 09:46:00 169

原创 python中的nan处理

python中的nan,即Not A Number。定义nan的方法 a = float(‘nan’) or from decimal import Decimal a = Decimal(‘nan’)常见的计算结果为nan的情况 :a = -float("inf")b = -float("inf")c = float("inf")d = float("inf")1.a-b=na...

2019-07-16 15:48:31 8893

原创 39. 组合总和(python)

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[ [...

2019-06-30 16:27:36 935

原创 96. 不同的二叉搜索树(python)

给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / ...

2019-06-30 09:12:18 246

原创 leetcode 114. 二叉树展开为链表

给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...

2019-06-29 20:51:00 117

原创 leetcode 215. 数组中的第K个最大元素 (python版)

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:h...

2019-06-14 20:18:19 541

原创 插入排序(python)

class InsertionSort:‘’’少量元素时较为高效‘’’def InsertionSort(self, nums): #升序for j in range(1, len(nums)):key = nums[j]i = j - 1while i >= 0 and nums[i] > key: #与j前的元素比较,满足条件的插到该元素之前nums[i + 1]...

2019-06-13 16:07:52 99

原创 leetcode2019/3/31周赛

可被 5 整除的二进制前缀(https://leetcode-cn.com/contest/weekly-contest-130/problems/binary-prefix-divisible-by-5/)给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表 answer,...

2019-03-31 15:29:05 227

原创 python报错AttributeError: 'NoneType' object has no attribute 'group'和正则匹配整数和小数

1.re.search(r’\d+(.\d+)?’,s).group()里面的正则表达式匹配整数和小数,(.\d+)?判断有无小数,有则匹配,没有则只匹配整数2.今天在写一个找出寻找文本(用C语言打印的内容输出到txt)里的变量的最大最小值的小脚本时,遇到传入si,sj两个字符以上的变量不会报错,但传入一个字符的变量就会报错,如下图:改代码(在判断条件变量后增加‘=’)如下图后不报错:...

2019-03-13 21:01:19 13239 1

原创 texlive+texstudio安装配置后运行时提示“use of uninitialized... can't spawn 'cmd.exe..出现错误”的解决方法

初步安装后运行latex源码文件出现此类错误,再重新安装tex Live后还是出现这个错误,怀疑自己是由于安装tex live前安装的texstudio,因此重新安装tex live后再恢复texstudio的默认设置;问题解决。初入门的学渣新手,写的不好,以后慢慢补充。...

2019-03-05 09:06:26 3232 1

空空如也

空空如也

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

TA关注的人

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