![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
WesenTCYS
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 51. 数组中的逆序对
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000思路:1、暴力。这种看上去简单的题,时间复杂度在O(n^2)之上的基本超时。 2、利用归并排序,整好好好复习了稳定的归并排序。class Solution { private int x = 0;...原创 2020-09-21 20:18:54 · 166 阅读 · 0 评论 -
LeetCode 面试题 01.05. 一次编辑
面试题 01.05. 一次编辑难度中等36收藏分享切换为英文关注反馈字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例1:输入: first = "pale"second = "ple"输出: True示例2:输入: first = "pales"second = "pal"输出: Falseclass Solution { public boo...原创 2020-09-17 22:24:42 · 139 阅读 · 0 评论 -
剑指 Offer 38. 字符串的排列
输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1 <= s 的长度 <= 8链接:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof1、最蠢的递归 class Soluti...原创 2020-09-17 20:17:31 · 182 阅读 · 0 评论 -
Leetcode 283. 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes思路1:创建两个指针i和j,第一次遍历的时候指针j用来记录当前有多少非0元素。即遍历的时候每遇到一个非0元素就将其往数...原创 2020-08-16 02:36:53 · 124 阅读 · 0 评论 -
关于递归的理解【转】
链接:https://www.zhihu.com/question/31412436/answer/683820765递归的三大要素第一要素:明确你这个函数想要干什么对于递归,我觉得很重要的一个事就是,这个函数的功能是什么,他要完成什么样的一件事,而这个,是完全由你自己来定义的。也就是说,我们先不管函数里面的代码什么,而是要先明白,你这个函数是要用来干什么。例如,我定义了一个函数// 算 n 的阶乘(假设n不为0)int f(int n){ }这个函数的功能是算 n 的阶.转载 2020-08-06 14:54:51 · 202 阅读 · 0 评论 -
数据结构-代码实现-二叉树
#include<iostream>using namespace std;typedef struct bitnode { char data; bitnode *lchild,*rchild;} bitnode;class bitt { private: bitnode *pt; void create(bitnode *&t); void in...原创 2018-12-07 20:30:58 · 1010 阅读 · 0 评论 -
数据结构-代码实现-二叉树-非递归
/*非递归用栈*/#include<iostream>using namespace std;#define max 100typedef struct bitnode{ char data; bitnode *lchild,*rchild;}bitnode,*bitree;class stack{ bitree *base; bitree *top; int ...原创 2018-12-07 20:33:08 · 214 阅读 · 0 评论