算法与数据结构
JOKECHEN66
我没有变强,但是我变秃了
展开
-
LeetCode52 算法分析
LeetCode 52题目简述N皇后问题的变式难度:困难描述:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[ [".Q..", // 解法 1 "...Q"...原创 2020-05-06 10:03:53 · 437 阅读 · 0 评论 -
LeetCode134 算法分析
LeetCode134题目简述判断数组中是否存在合法路径难度:中等描述:在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解...原创 2020-04-28 13:31:30 · 438 阅读 · 0 评论 -
LeetCode205 算法分析
LeetCode205题目简述判断两个字符串是否同构难度:简单描述:给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例...原创 2020-04-20 14:02:40 · 283 阅读 · 0 评论 -
LeetCode328 算法分析
LeetCode328题目简述分别排列单链表的奇数节点和偶数节点难度:中等描述:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试 使用原地算法 完成。你的算法的 空间复杂度应为 O(1) , 时间复杂度应为 O(nodes) ,nodes 为节点总数。示例 1:输入: 1->2-&g...原创 2020-04-19 15:08:08 · 253 阅读 · 0 评论 -
LeetCode34 算法分析(一题多解)
LeetCode34题目简述在排序数组中查找元素的第一个和最后一个位置难度:中等描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8...原创 2020-02-16 20:57:38 · 1000 阅读 · 0 评论 -
二叉树的创建与三种遍历方式
二叉树的创建与三种遍历方式作为咸鱼,这个学期学习了一种极为重要的数据结构:二叉树和之前的线性数据结构比起来,二叉树是非线性的,拥有多样的创建和遍历方式;刚刚上手的时候,总会觉得有点晕头转向;加之递归函数又有些生疏,刚开始学习的时候总是会出现一些莫名其妙的报错;之后笔者在通过自己编写程序以及OJ刷题之后,渐渐,咳咳,自认为掌握了二叉树的基础操作,现在将二叉树的一些知识点整理下来:那么先...原创 2019-11-25 19:19:28 · 463 阅读 · 0 评论 -
约瑟夫环问题:循环链表实现
约瑟夫环的问题描述n个人排成一圈。从某个人开始,按顺时针方向依次编号。从编号为1的人开始顺时针“一二一”报数,报到2的人退出圈子。这样不断循环下去,圈子里的人将不断减少,直到所有人都推出圈子为止。(当然题目也可以修改为剩余n个时结束,这仅仅只是结束条件的不同)算法实现这里笔者使用了循环链表解决约瑟夫环问题:#include <iostream>using namespace ...原创 2019-09-02 23:09:01 · 1660 阅读 · 0 评论