- 博客(19)
- 收藏
- 关注
原创 leetcode 62 63 不同路径
62.一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? class Solution { public: int uniquePaths(int m, int n) { vector<vect...
2019-10-18 20:19:59
194
原创 leetcode 322零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。 示例1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 就是背包问...
2019-10-17 13:17:13
214
原创 股票买卖问题总结
第三题n2的复杂度就是枚举每一天当成分界点一般情况是会超时的,那跟第一题有啥区别呢,就是相当于正向的第一题加反向再来一遍,然后求和,表示为每天作为分界线的res[i],也看到了一个比较有意思的解法。第一题的思路就是更新两个值,先是res=max(res,price[i]-mincount)后是已知的最小值 mincount=min(mincount,price[i])然后遍历就完事了。后来想明白了,就相当于当天跳过了嘛。
2019-10-17 10:31:24
292
1
原创 如何用神经网络逼近一个积分函数
毕设中的一个小创新点。 首先已经被证明任意连续函数都可以用3层神经网络无线逼近。 背景是AWGN信道下极化码信息位的选择问题。流程中的复杂度主要存在与求函数的反函数问题。神经网络既然可以实现任意连续函数,那么输入输出对调训练出来的网络得到的就是原函数的反函数。虽然有思路但是怎么做一点没有办法一步一步实现。 首先MATLAB实现不定积分 sysm x int(y,a) 其中y=...
2019-10-15 10:04:26
1406
原创 leetcode 120三角形最小路径和(dp)
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为11(即,2+3+5+1= 11)。 说明: 如果你可以只使用 O(n)的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。 c...
2019-10-03 21:52:24
175
原创 leetcode 脑筋急转弯4道题
昨天刷了一堆题晚上跑出去玩了就没有及时总结,今天先补上。 319 灯泡开关 初始时有n个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第i 轮,每i个灯泡切换一次开关。 对于第n轮,你只切换最后一个灯泡的开关。 找出n轮后有多少个亮着的灯泡。 示例: 输入: 3 输出:...
2019-10-03 21:25:25
1425
原创 leetcode303区域和检索 数组不可变
给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3 暴力能做,动态规划的话就...
2019-09-30 10:46:34
151
原创 leetcode32 最长有效括号
给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度。 示例1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 第一次写成了括号匹配的个数就用个栈想着这个跟动态规划也没啥关系啊,后来的方法也没有用到动态规划,栈中保存的是一个下标,额外开辟一个数组...
2019-09-29 21:42:46
155
原创 leetcode198 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 ...
2019-09-29 13:59:13
121
原创 leetcode 爬楼梯
假设你正在爬楼梯。需要 n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶...
2019-09-27 13:24:27
112
原创 leetcode 53最大子序和
给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 类似于最简单的股票买卖问题dp很容易想,分治法没写出来。 #i...
2019-09-27 13:10:42
115
原创 leetcode03
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是"w...
2019-09-23 13:51:11
225
原创 leetcode01两数之和
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 原问题很ea...
2019-09-21 16:48:39
167
原创 剑指offer23 判断是否为二叉搜索树的后序遍历
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 总结:后序遍历特征:最后一个为根节点,从第一个数字开始直到第一个比根节点大的数字都是左子树,后面都是右子树都应该比根节点大一旦有小的就判断不是,程序里用到了不设置初始值的循环。一般搜索树都是用递归。 class Solution { publ...
2019-05-24 12:44:33
174
原创 剑指offer 06 旋转数组最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 总结:第一遍写 时取巧,排序输出a[0]二刷时候发现考察查找,没什么好想法遍历就完了 class Sol...
2019-05-22 16:58:44
96
原创 剑指offer 05 两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 总结:push就用一个栈apush,pop就a栈顶出栈到b,b出栈即实现队列pop class Solution { public: void push(int node) { stack1.push(node); } int pop() { ...
2019-05-22 16:16:41
114
原创 剑指offer 04 重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 总结:一般笔试这种题必考只是实现的比较少,递归,从前序遍历的头就是树的头结点在中序里面找,中序遍历左边就是左子树,右边右子树(前 中左右 中 左中...
2019-05-22 16:10:08
113
原创 剑指offer 03 从尾到头打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 总结:提到逆向,用stack存结点,用vector储存链表值返回 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), ...
2019-05-22 15:53:24
107
原创 剑指offer01 二维数组中的查找
题目 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 总结:1.从右上角开始 array.size是行数 array[0].size 是列数,写题时分不清数组的行列(直接定义成中文),判断时双等号写成等号,写题时第一步判断非空 二维数组本质是...
2019-05-18 12:55:19
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅