12 2020 档案

剑指 Offer 51. 数组中的逆序对
摘要:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4]输出: 5 class Solution { public: //利用递归。 // 将数组分成A[0] ... A[i] ... A[m 阅读全文

posted @ 2020-12-20 16:01 wsw_seu 阅读(128) 评论(0) 推荐(0)

494. 目标和(动态规划,01背包)
摘要:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例: 输入:nums: [1, 1, 1, 1, 1], 阅读全文

posted @ 2020-12-20 15:14 wsw_seu 阅读(106) 评论(0) 推荐(0)

回溯问题模版(套路)https://labuladong.gitbook.io/algo/suan-fa-si-wei-xi-lie/3.1-hui-su-suan-fa-dfs-suan-fa-pian/hui-su-suan-fa-xiang-jie-xiu-ding-ban
摘要:def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 参考: https://labuladong.gitbook.io/algo/suan-fa- 阅读全文

posted @ 2020-12-20 11:13 wsw_seu 阅读(303) 评论(0) 推荐(0)

486. 预测赢家(从递归到动态规划)
摘要:给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。 给定一个表示分数的数组,预测玩家1是 阅读全文

posted @ 2020-12-20 10:22 wsw_seu 阅读(165) 评论(0) 推荐(0)

210. 课程表 II(经典拓扑排序)
摘要:现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序,你只要返回一种就可以 阅读全文

posted @ 2020-12-16 21:17 wsw_seu 阅读(93) 评论(0) 推荐(0)

字典树(前缀树)
摘要:实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple");trie.search("apple"); // 返回 truetrie.search("a 阅读全文

posted @ 2020-12-09 20:44 wsw_seu 阅读(113) 评论(0) 推荐(0)

旋转数组的最小数字
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 class Solution { public: //3 4 5 1 2 int minNumberInRota 阅读全文

posted @ 2020-12-06 21:56 wsw_seu 阅读(79) 评论(0) 推荐(0)

215. Kth Largest Element in an Array(partition逆序排序,index+1 == k)
摘要:Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element. Example 阅读全文

posted @ 2020-12-06 15:06 wsw_seu 阅读(131) 评论(0) 推荐(0)

220. Contains Duplicate III(核心:set数组有序/桶排序)
摘要:Given an array of integers, find out whether there are two distinct indices i and j in the array such that the absolute difference between nums[i] and 阅读全文

posted @ 2020-12-06 11:51 wsw_seu 阅读(90) 评论(0) 推荐(0)

leetcode 772 基本计算器III(包含+-*/ 以及括号) 核心在于递归
摘要:现基本计算器以计算简单表达式字符串。 表达式字符串可以包含左括号(和右括号)、加号+或减号、非负整数和空格。 表达式字符串只包含非负整数、+、-、*、/运算符、左括号和空格。整数除法应该截断为零。 您可以假定给定的表达式总是有效的。所有中间结果将在范围内[-2147483648,2147483647 阅读全文

posted @ 2020-12-02 20:22 wsw_seu 阅读(806) 评论(0) 推荐(0)

227. Basic Calculator II(重点记录上一个符号,每次判断上一个符号)
摘要:Given a string s which represents an expression, evaluate this expression and return its value. The integer division should truncate toward zero. Exam 阅读全文

posted @ 2020-12-02 20:06 wsw_seu 阅读(116) 评论(0) 推荐(0)

c++ 去字符串两边的空格
摘要:void trim(string &s) { if (s.empty()) { return ; } s.erase(0,s.find_first_not_of(" ")); s.erase(s.find_last_not_of(" ") + 1); } find_first_not_of()与fi 阅读全文

posted @ 2020-12-02 20:05 wsw_seu 阅读(366) 评论(0) 推荐(0)

导航