BY Blog

とことんまで戦う

C++疑难杂症第1弹

C++ Problem - 1st

前言 持续更新了 正文 问题来源 今天工作的时候看到一段关于私有继承的代码。 前言 话不多说上代码 : #include <iostream> using namespace std; class A{ public: virtual void a1() = 0; virtual void a2() = 0; }; class B...

leetcode面试题16.18模式匹配

leetcode Interview Question 16.18 Pattern Match

前言 近期更新的比较频 正文 问题来源 本问题来自leetcode上的面试题17.13题。 问题描述 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子”I reset the computer. It still didn’t boot!”已经变成了”iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前...

leetcode1025除数博弈

leetcode 1025 Divisor Game

前言 持续更新了 正文 问题来源 本问题来自leetcode上的1025题。 问题描述 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 ...

leetcode309最佳买卖股票时机含冷冻期

leetcode 309 Best Time to Buy and Sell Stock with Cooldown

前言 持续更新了 正文 问题来源 本问题来自leetcode上的309题。 问题描述 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天...

字典序全排列

Permutation In Dictionary Order

前言 猛起更新。 正文 问题来源 既然被问到了全排列,索性来个全家桶。 问题描述 给你一个数组,给出字典序全排列。 示例 1: 输入: [1,2,3,4] 输出: 1234, 1243, 1324, 1342, 1423, 1432,  2134, 2143, 2314, 2341, 2413, 2431,  3124, 3142, 3214, 3241, 3412, 342...

全排列有重复元素

Permutation Numbers that Might Contain Duplicates

前言 猛起更新。 正文 问题来源 今天被人问到全排列含有重复元素。 问题描述 给你一个数组,其中数组中可能有相同值,给出所有全排列。 示例 1: 输入: [1,2,3,2] 输出: [[1 2 3 2] [1 2 2 3] [1 3 2 2] [2 1 3 2] [2 1 2 3] [2 3 1 2] [2 3 2 1] [2 2 3 1] [2 2 1 3] [3 2 1 2...

leetcode44通配符匹配

leetcode 44 Wildcard Matching

前言 持续更新了 正文 问题来源 本问题来自leetcode上的44题。 问题描述 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a...

leetcode117填充每个节点的下一个右侧节点指针II

leetcode 117 Populating Next Right Pointers in Each Node II

前言 持续更新了 正文 问题来源 本问题来自leetcode上的117题。 问题描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如...

leetcode144二叉树的前序遍历

leetcode 144 Binary Tree Preorder Traversal

前言 持续更新了 正文 问题来源 本问题来自leetcode上的144题。 问题描述 给定一个二叉树,返回它的 前序 遍历。 示例 1: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 分析: func preorderTraversal(root *TreeNode) []int { cu...

leetcode116填充每个节点的下一个右侧节点指针

leetcode 116 Populating Next Right Pointers in Each Node

前言 持续更新了 正文 问题来源 本问题来自leetcode上的116题。 问题描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如...