![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Xpectuer
人总该为一点美好的东西活着。
展开
-
【刷题笔记】leetcode 46.全排列 | 优质解法
学习笔记 【刷题笔记】46.全排列|优质解法 思路:回溯 基本盘: 我们每次递归,记录已访问的元素。 从剩下的元素中取,取完回溯。 状态树是每层决定放入一个元素。 新思路 今天复习的时候,看到外国老哥相当精妙的理解。 就来做一个汉化 主要思路有点像插入排序 每次的决定从决定放入哪个元素到决定下一个元素放在哪个位置。 具体来讲, 比如我的输入是[1, 2, 3], 先拿一个[1],剩下[2, 3] 按照顺序,我们拿[2], 我们尝试将[2]放到[1]之前或之后,出现两种情况 [1, 2] [2, 1]转载 2020-11-18 17:16:25 · 163 阅读 · 0 评论 -
【刷题笔记】三种方法通关leetcode33.旋转排序数组
写在前面 前段时间虽说一直保持刷题,但是由于课业繁重,经过组织上的反复权衡,决定停更一段时间。 现在正好是课业的空窗期,于是又来水博客力。 看官们觉得不错可以赏脸点个关注再走哦~ 我的 github 二分查找的使用条件 二分查找的 O(logn)O(logn)O(logn) 高效必然有局限性: 这里就是前提条件: 1. 有序序列 2. 存在上下界 3. 随机访问特性 代码模板 left, right = 0, len(array) - 1 while left <= right: mid = (l原创 2020-11-12 19:17:54 · 124 阅读 · 0 评论 -
【leetcode刷题记#week02】栈、队列、双端队列
20.有效的括号 检测一段字串序列中的有效括号 栈方法(C++) 创建一个栈结构, 若是左括号,则入栈 若是右括号,则检测栈顶是否是相应左括号 细节: 检测输入长度,若是0,直接返回true;若长度为奇数,返回false if(!s.length()) return true; if(s.length%2=1) return false; 建立散列表(方便检测) unordered_map<char, char> pairs = {原创 2020-10-27 09:59:26 · 180 阅读 · 0 评论 -
【刷题】子集和问题的回溯剪枝解法
子集和问题的回溯剪枝解法 1. 问题 1.1 原文描述 问题参考的是 程振波老师的 《Design and Analysis of Algorithm Using Python》2.5.3节的描述: 输入给定整数集,问是否存在该整数集的子集,使得该子集元素的和为 0。 比如给定的整数集合为 [-7, -3 ,-2, 5, 8],存在集合的子集 [-3, -2, 5],该子集和为0。 1.2 IO示例 input: -2 -3 4 5 0 output: 1101 0000 2. 解法 2.1原创 2020-10-15 12:47:08 · 938 阅读 · 0 评论 -
教你如何追求女神
教你如何追求女神 内卷 计算机学院是我们学校的人口大院 上千的人口、6:16:16:1的经典失调的男女比例 仅次于机械工程学院 这就使得计院的市场上形成了严重的 内卷效应 像我这样的纯情小生自然是在这种水深火热的环境中被毒打多年 然而,作为一个老二次元,闲来无事到时候逛逛B站,竟从李永乐老师那找到了一些关于恋爱的科学门路。 有趣的现象 不知道大家有没有这种经历或是见闻 中学找的对象亦或是初恋,大多分的分,散的散。 能坚持下去的属实凤毛麟角 可是为什么会这样?年轻时的爱情真的这么容易变质吗? 经典问题 ..原创 2020-10-05 00:04:09 · 1148 阅读 · 1 评论