2 vs974532452

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 18w+

常用排序算法

源码如下: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

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:32:25

leetcode 638(递归)

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

2019-10-29 16:01:26

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:09:00

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:05:48

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:00:40

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:00

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-12 17:05:51

leetcode 148. 排序链表

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

2019-10-11 16:35:28

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

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

2019-10-07 17:03:36

7.1 快速排序

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

2019-10-06 17:10:44

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:49:49

go语言构造函数的使用

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

2019-10-04 16:45:16

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:50:16

6.4堆排序

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

2019-10-02 16:18:27

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:40:40

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

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

2019-09-26 11:13:15

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:25:08

leetcode 22. 括号生成(python)

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

2019-09-23 15:51:36

2.3.1 分治法(归并排序)

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

2019-09-22 16:53:04

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。