算法学习
学习和分享常见的数据结构算法。主要使用C++,有时也用python。
D.Guan
怕什么真理无穷 进一步有进一步的欢喜
展开
-
[leetcode][回溯][排序树]全排列
1.题目给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]2.代码class Solution {public: vector<vector<int>>res...原创 2019-11-23 20:50:32 · 288 阅读 · 0 评论 -
[剑指offer][[Leetcode]面试题7:重建二叉树
1.题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。2.code/** * Definition for binary tree * struct TreeNode { * i...原创 2019-10-26 14:14:07 · 191 阅读 · 0 评论 -
[C++][枚举]拨钟问题
1.题目002:拨钟问题查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述有9个时钟,排成一个3*3的矩阵。|-------| |-------| |-------|| | | | | | ||---O | |---O | | O || | | ...原创 2019-06-22 21:44:02 · 1311 阅读 · 0 评论 -
[C++][枚举]特殊密码锁
1.题目001:特殊密码锁查看 提交 统计 提问总时间限制: 1000ms 内存限制: 1024kB描述有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态。然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。当前密码锁状态已知...原创 2019-06-22 16:40:43 · 1192 阅读 · 0 评论 -
[C++][枚举]熄灯问题
1.题目2811:熄灯问题查看 提交 统计 提示 提问总时间限制: 1000ms 内存限制: 65536kB描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按...原创 2019-06-17 16:47:16 · 1590 阅读 · 2 评论 -
[C++]月度开销(二分算法:最小化最大值)
1.题目描述060:月度开销查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述农夫约翰是一个精明的会计师。他意识到自己可能没有足够的钱来维持农场的运转了。他计算出并记录下了接下来 N (1 ≤ N ≤ 100,000) 天里每天需要的开销。约翰打算为连续的M (1 ≤ M ≤ N) 个财政周期创建预算案,他把一个财政周期命名为fajo月。每个fajo...原创 2019-05-12 15:40:21 · 1507 阅读 · 0 评论 -
[C++]Aggressive cows(二分查找:最大化最小值)
1.题目061:Aggressive cows查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at po...原创 2019-05-12 13:35:30 · 570 阅读 · 0 评论 -
[C++]派(二分算法)
1.题目059:派查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨。因此所有人拿到的派是同样大小的(但...原创 2019-04-26 13:56:45 · 1726 阅读 · 0 评论