摘要: 小菜鸟第一次接触动态规划,请多包涵~ 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [ 2,1, 3,4, 1,2,1, 5,4], 输出: 6 解释: 连续子数组 [4, 1,2,1] 的和最大,为 6。 在这个问题中,我们 阅读全文
posted @ 2020-05-09 08:25 c_y_yuan 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其 阅读全文
posted @ 2020-04-28 15:21 c_y_yuan 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1: 输入 阅读全文
posted @ 2020-04-26 13:09 c_y_yuan 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 阅读全文
posted @ 2020-04-24 11:32 c_y_yuan 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 前言:今天又做了一道简单的括号生成,才发现自己上一次做回溯题的时候完全搞错了,回溯不等同于递归,回溯方法中会有一个全局变量保存当前的状态,当方法完成时,再回退回上一个状态。 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出 阅读全文
posted @ 2020-04-22 22:01 c_y_yuan 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 这道题的解法类似于排列组合,将其视为树结构,并对其完成搜索。 给定一个仅包含数字 2 9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf 阅读全文
posted @ 2020-04-18 23:13 c_y_yuan 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 记录这个实验的人也不少了,我就简单记录下Part3和Part4 Part3 part3主要是实现多个任务分配给多个工人,但是工人的数量少于任务数量,一个时间段一个工人只能处理一个任务,所以要变通一点,不能像之前常见的结构一样,让多个工人重复做一件事情了.这里有点坑的地方是,这个函数里使用的chann 阅读全文
posted @ 2020-04-18 15:44 c_y_yuan 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 前言:最近想接触一下分布式,因此我就学习了MIT的课程。做实验的时候需要用go,便也顺便了解一下go的语言特性。 channel 我一直没搞懂的是不带缓冲区的channel的阻塞问题,文档中说“如果通道未缓冲,则发送方将阻塞,直到接收方收到该值为止”,后来再仔细看了一下例子,豁然开朗。 让我们看一下 阅读全文
posted @ 2020-04-18 09:01 c_y_yuan 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 注:这个主要用于10进制及以下的相互转换 进制转换的实现与取余和取模相关:以十进制数173转换为二进制10101101为例 我们可以看到转换进制的具体流程就是对输入的数对2取模得到1,再对其对2整除得到下一个待处理数,直到待处理的数变成0,便将刚才得到的余数逆序输出。 那么观察一下这里的2,其实就是 阅读全文
posted @ 2020-04-07 12:40 c_y_yuan 阅读(2237) 评论(0) 推荐(0) 编辑
摘要: ```c++ #include #include #include using namespace std; void buildMatch(string pattern, int *& match){ int m = pattern.size(); match = (int*)malloc(m * sizeof(int)); match[0] = -1; int i; for(int j = 1 阅读全文
posted @ 2020-04-03 12:50 c_y_yuan 阅读(246) 评论(0) 推荐(0) 编辑