数据结构
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 · 235 阅读 · 0 评论 -
LeetCode 面试题 01.05. 一次编辑
面试题 01.05. 一次编辑 难度中等36收藏分享切换为英文关注反馈 字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例1: 输入: first = "pale" second = "ple" 输出: True 示例2: 输入: first = "pales" second = "pal" 输出: False class Solution { public boo...原创 2020-09-17 22:24:42 · 214 阅读 · 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-lcof 1、最蠢的递归 class Soluti...原创 2020-09-17 20:17:31 · 321 阅读 · 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 · 187 阅读 · 0 评论 -
关于递归的理解【转】
链接:https://www.zhihu.com/question/31412436/answer/683820765 递归的三大要素 第一要素:明确你这个函数想要干什么 对于递归,我觉得很重要的一个事就是,这个函数的功能是什么,他要完成什么样的一件事,而这个,是完全由你自己来定义的。也就是说,我们先不管函数里面的代码什么,而是要先明白,你这个函数是要用来干什么。 例如,我定义了一个函数 // 算 n 的阶乘(假设n不为0) int f(int n){ } 这个函数的功能是算 n 的阶.转载 2020-08-06 14:54:51 · 281 阅读 · 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 · 1074 阅读 · 0 评论 -
数据结构-代码实现-二叉树-非递归
/*非递归用栈*/ #include<iostream> using namespace std; #define max 100 typedef struct bitnode{ char data; bitnode *lchild,*rchild; }bitnode,*bitree; class stack{ bitree *base; bitree *top; int ...原创 2018-12-07 20:33:08 · 275 阅读 · 0 评论
分享