算法
Ying_ya
这个作者很懒,什么都没留下…
展开
-
动态规划学习一——打家劫舍
动态规划1.核心思想将大问题划分为小问题进行解决,从而一步步获得获取最优解。经分解得到的子问题往往不是独立的,即下一个子阶段的求解是建立在上一个子阶段的解的基础上进一步求解的。2.动态规划解题四步确定状态写出状态转移方程考虑初始化考虑输出3.案例分析你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你原创 2020-08-25 22:56:04 · 223 阅读 · 0 评论 -
03字符串的排列组合
题目描述 输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。来源:力扣(LeetCode)思路 以字符串“abc”为例,如下图:一开始是空字符串’’,可选择的有三个字符’a’、‘b’,‘c’a,剩余‘b’、‘c’ab,剩’c’ac,剩’b’b,剩余’a’、‘c’ba,剩’c’bc,剩’a’c,剩余’a’、‘b’ca,剩’b’cb,剩’a’参考题解代码1.字符串/** * @para原创 2020-08-14 22:44:28 · 164 阅读 · 0 评论 -
02用队列实现栈
使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空来源:力扣(LeetCode)/** * Initialize your data structure here. */var MyStack = function() { this.stack = [];};/** * Push element x onto stack. * @param {number} x原创 2020-08-13 16:03:34 · 124 阅读 · 0 评论 -
01用栈实现队列
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。来源:力扣(LeetCode)1.用一个栈实现/** * Initialize your data structure here. */var MyQueue = function() { this.stack = [];};/** * Push element x to the原创 2020-08-13 15:56:08 · 110 阅读 · 0 评论