
C++
Xpectuer
人总该为一点美好的东西活着。
展开
-
【刷题笔记】leetcode 46.全排列 | 优质解法
学习笔记【刷题笔记】46.全排列|优质解法思路:回溯基本盘:我们每次递归,记录已访问的元素。从剩下的元素中取,取完回溯。状态树是每层决定放入一个元素。新思路今天复习的时候,看到外国老哥相当精妙的理解。就来做一个汉化主要思路有点像插入排序每次的决定从决定放入哪个元素到决定下一个元素放在哪个位置。具体来讲,比如我的输入是[1, 2, 3],先拿一个[1],剩下[2, 3]按照顺序,我们拿[2], 我们尝试将[2]放到[1]之前或之后,出现两种情况[1, 2][2, 1]转载 2020-11-18 17:16:25 · 217 阅读 · 0 评论 -
【刷题笔记】三种方法通关leetcode33.旋转排序数组
写在前面前段时间虽说一直保持刷题,但是由于课业繁重,经过组织上的反复权衡,决定停更一段时间。现在正好是课业的空窗期,于是又来水博客力。看官们觉得不错可以赏脸点个关注再走哦~我的 github二分查找的使用条件二分查找的 O(logn)O(logn)O(logn) 高效必然有局限性:这里就是前提条件:1. 有序序列2. 存在上下界3. 随机访问特性代码模板left, right = 0, len(array) - 1while left <= right: mid = (l原创 2020-11-12 19:17:54 · 169 阅读 · 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 · 266 阅读 · 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 50output:110100002. 解法2.1原创 2020-10-15 12:47:08 · 1065 阅读 · 0 评论 -
教你如何追求女神
教你如何追求女神内卷计算机学院是我们学校的人口大院上千的人口、6:16:16:1的经典失调的男女比例 仅次于机械工程学院这就使得计院的市场上形成了严重的 内卷效应像我这样的纯情小生自然是在这种水深火热的环境中被毒打多年然而,作为一个老二次元,闲来无事到时候逛逛B站,竟从李永乐老师那找到了一些关于恋爱的科学门路。有趣的现象不知道大家有没有这种经历或是见闻中学找的对象亦或是初恋,大多分的分,散的散。能坚持下去的属实凤毛麟角可是为什么会这样?年轻时的爱情真的这么容易变质吗?经典问题..原创 2020-10-05 00:04:09 · 1206 阅读 · 1 评论