- 博客(32)
- 收藏
- 关注
原创 通配符匹配
1.遇到s和p都是""则直接返回true2.判断边界条件如果s串已经遍历完毕,则判断p串是否便利完毕,如果p串长度大于s串,则判断大于部分是否都是*,如果是则返回true,否则返回false3.判断边界条件如果p串已经便利完毕,则判断s串是否便利完毕,是则返回true,否则返回false4.判断字符是否相等5.如果p串当前字符是则有两种可能,第一种是忽略继续匹配,第二种是,继续匹配s剩余字...
2020-03-30 21:23:00 81
原创 加油站
class Solution {public: int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { int n = gas.size(); int res = -1; for(int i = 0; i < n; ++i) {...
2020-03-29 19:17:41 179
转载 跳跃游戏
设定循环不变式为 “maxJump 表明最大能跳到的距离”1.如果i不在maxJump 的范围内,表明当前无法跳到2.如果在maxJump范围内,计算当前所能跳跃到的距离和maxJump比较,替换成更大的3.循环结尾看maxJump是否超过数据长度PS:因为数组内是上限,所以用一个数字就可以,如果是能够跳的补数,那么使用一个数组class Solution {public:bool ...
2020-03-28 16:48:12 91
原创 数据挖掘特征工程
3.1 特征工程目标对于特征进行进一步分析,并对于数据进行处理完成对于特征工程的分析,并对于数据进行一些图表或者文字总结并打卡。3.2 内容介绍常见的特征工程包括:异常处理:通过箱线图(或 3-Sigma)分析删除异常值;BOX-COX 转换(处理有偏分布);长尾截断;特征归一化/标准化:标准化(转换为标准正态分布);归一化(抓换到 [0,1] 区间);针对幂律分布,可以采...
2020-03-28 16:41:56 185
原创 分配饼干
class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { if(s.empty() || g.empty()) return 0; sort(g.begin(), g.end()); sort(s...
2020-03-27 22:38:38 135
原创 判断子序列
class Solution {public:bool isSubsequence(string s, string t) {int i = 0, j = 0;int m = s.size(), n = t.size();while(i < m && j < n){if(s[i] == t[j]){i++;j++;}else j++;}retur...
2020-03-26 20:17:22 90
原创 买股票的最佳时机
class Solution { public int maxProfit(int[] prices) { return calculate(prices, 0); } public int calculate(int prices[], int s) { if (s >= prices.length) ret...
2020-03-25 20:10:23 51
转载 二叉树恢复
中序遍历class Solution: def recoverTree(self, root): """ :type root: TreeNode :rtype: void Do not return anything, modify root in-place instead. """ # predeces...
2020-03-24 20:41:08 105
原创 EDA
EDA数据探索分析学习历程在这里我们用到了python中的几个库,这几个库分别是 pandas numpy matplotlib.pyplot seaborn missingnopandas是基于NumPy的一种工具,该工具是为了解决数据分析任务二创建的,Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需要的工具。pandas提供了大量能使我们快速便捷地处理数...
2020-03-24 14:39:13 337
原创 二叉树
class Solution { public LinkedList<TreeNode> generate_trees(int start, int end) { LinkedList<TreeNode> all_trees = new LinkedList<TreeNode>(); if (start > end) { a...
2020-03-23 22:21:18 48
原创 二叉树中的序遍历
class Solution { public List < Integer > inorderTraversal(TreeNode root) { List < Integer > res = new ArrayList < > (); TreeNode curr = root; TreeNode pre...
2020-03-22 21:26:27 144
原创 二叉树的最大深度
刚开始拿到这道题的时候我就想可以使用遍历的方法访问每个节点,后来从leetcode上获得可以使用迭代的方法,通过更新栈的方法逐步更新栈中的数据,每次获得一个新的数据 就将原来 的 数据弹出,这里 我采用java实现import javafx.util.Pair;import java.lang.Math;class Solution { public int maxDepth(Tree...
2020-03-21 20:15:54 63
原创 对称的树
public boolean isSymmetric(TreeNode root) { return isMirror(root, root);}public boolean isMirror(TreeNode t1, TreeNode t2) { if (t1 == null && t2 == null) return true; if (t1 ==...
2020-03-20 19:05:18 108
原创 相同的树
class Solution: def isSameTree(self, p, q): """ :type p: TreeNode :type q: TreeNode :rtype: bool """ # p and q are both None if not p an...
2020-03-19 19:58:54 43
原创 正则
enum Result { TRUE, FALSE}class Solution { Result[][] memo; public boolean isMatch(String text, String pattern) { memo = new Result[text.length() + 1][pattern.length() + 1]; ...
2020-03-18 21:27:39 73
原创 最长回文子串
public String longestPalindrome(String s) { if (s == null || s.length() < 1) return ""; int start = 0, end = 0; for (int i = 0; i < s.length(); i++) { int len1 = expandAround...
2020-03-17 21:12:51 46
原创 无重复字符的子串
public class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); int ans = 0; for (int i = 0; i < n; i++) for (int j = i + 1; j &l...
2020-03-16 21:29:07 115
原创 有效的括号
class Solution { // Hash table that takes care of the mappings. private HashMap<Character, Character> mappings; // Initialize hash map with mappings. This simply makes the code easier to...
2020-03-15 19:38:37 62
原创 最长公前缀
public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; String prefix = strs[0]; for (int i = 1; i < strs.length; i++) while (strs[i].indexOf(prefix) != ...
2020-03-14 20:56:28 111
原创 罗马数字转整数
class Solution {public: int romanToInt(string s) { unordered_map<string, int> m = {{"I", 1}, {"IV", 3}, {"IX", 8}, {"V", 5}, {"X", 10}, {"XL", 30}, {"XC", 80}, {"L", 50}, {"C", 100}...
2020-03-13 22:13:13 52
原创 合并K个排序链表
from Queue import PriorityQueueclass Solution(object): def mergeKLists(self, lists): """ :type lists: List[ListNode] :rtype: ListNode """ head = point = L...
2020-03-12 19:31:22 40
原创 两数相加
1 首先两个链表相加 要考虑一种情况 位数是否一致,如果一个为923 一个为63则在63前面补零即923+0632 在两数相加时要考虑上一位的进位和本位的加法3 如果最后的进位为1要在节点前加一JAVA实现:/** * Definition for singly-linked list. * public class ListNode { * int val; * ...
2020-03-11 01:41:30 130
原创 删除的链表的倒数的第N个节点
这道题可以定义两个指针,一个指针,一个指针从开头出发移动N+1个节点 ,第二个质争从头开始,与第二个指针保持N的距离,当第一个指针到达最后一个节点的时候,第二个指针正好到达倒数第N个节点,删除该节点的数,再将第二个指针重新连接到下下个节点,完成题目要求JAVA实现public ListNode removeNthFromEnd(ListNode head, int n) { ListN...
2020-03-11 01:16:49 69
原创 环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。public boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return false; ...
2020-03-09 20:20:30 65
原创 删除链表中重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Sol...
2020-03-08 20:43:03 612
原创 链表
合并两个有序链表题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { //很巧妙地引入一个特殊结点preHead ListNode* preHead ...
2020-03-07 21:06:25 98
原创 买股票的最佳时机
买股票的最佳时机给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易class Solution { public int maxProfit(int[] prices) { if (prices.length == 0) { return 0; } ...
2020-03-06 19:04:41 69
原创 最接近的三数之和
最接近的三数之和问题描述,给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。首先针对这道题最好不要使用遍历的算法,所以在这里有下面这个解题思路(1)首先对整个数组进行排序,从小到大排序(2)定义两个指针,类似于三数之和的思路,其中一个指针指的是数组的前端,...
2020-03-05 19:57:28 60
原创 三数之和
三数之和问题:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。解决这道题我们使用了三指针的思路(1)对给定数组重新排序,默认从小到大,定义一个三指针 变量为i j k k指向数组的末尾 j指向数组的第二个变量(2)当第重排数组第一项大于1或者数组长度小于2退出(3)检测三个指...
2020-03-04 20:46:16 114
原创 移除元素
移除数组元素今天的题目仍然用到的是双指针的知识,使用两个指针,只不过针对这种移除元素的题目这里面蕴含着两种解题的方法,一种是直接使用指针,来进行重新排布,一种是通过将剔除项进行抛出,然后截断数组来获得需要的数组。双指针法一class Solution { public int removeElement(int[] nums, int val) { int i=0;...
2020-03-03 16:22:26 50
原创 如何清空数组中的多余项
双指针法今天打卡的是双指针的方法,这里在运用双指针的过程中,使用的两次指针,一项用来指向数组的前面,这个指针用来保存不重复的数,每存一个数,自加一,在最后返回的时候的也是返回前一个数自加一,后一个用来验证,将每次获取的值与前一次作比较,这样用两个指针就可以很方便的清除掉数组中的多余的数JAVA实现class Solution { public int removeDuplicates...
2020-03-02 19:38:10 482
原创 两数之和的学习心得
两数之和1 暴力法这种方法使用是根据题目要求来直接依据数组中两数之和等于目标数组来寻找,通过将目标数组减去给出数组中的第一个数,来获取检测数,用检测数对数组进行第二次遍历寻找来获得```cpp在这里插入代码片class Solution{public:vectortwoSum(vector &nums, int target){vector res;int num...
2020-03-01 12:57:51 119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人