- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 【leetcode】538. Convert BST to Greater Tree(easy)
给定一颗二叉树,从右侧中序遍历,然后不断的加和就可以了。一次acvoid converBSTImpl(TreeNode* root, int& value){ if (root) { if (root->right) { converBSTImpl(root->right, value); } value = value + root->v...
2019-03-29 11:01:57 201
原创 【leetcode】448. Find All Numbers Disappeared in an Array(easy,数组下标和值的技巧)
// 448. Find All Numbers Disappeared in an Arrayvector<int> findDisappearedNumbers(vector<int>& nums){ // 这种数组要求on遍历的,而且时间复杂度O(n) 空间O(1)的,就需要动动脑筋,想下数组的特性 // 尤其是这题目的限制条件,就可以把数组的inde...
2019-03-28 19:19:22 166
原创 【leetcode】 438. Find All Anagrams in a String (easy 窗口滑动)
卡了好几天,这个问题,实际上很简单,说到底还是stl里的容器掌握的不熟练类似窗口滑动,每次去比较,这里有个技巧,假定字符串里都是26个英文字母。// 438. Find All Anagrams in a String (窗口滑动)vector<int> Solution::findAnagrams(string s, string p){ vector<int>...
2019-03-28 17:11:43 160
原创 【leetcode】437. Path Sum III(easy,DFS深搜)
看代码,深搜要记得把每个节点当做根节点遍历一次int pathSumImpl(TreeNode * root, int sum){ if (root == NULL) return 0; return (root->val == sum ? 1 : 0) + pathSumImpl(root->left, sum - root->val) + pathSumImpl(r...
2019-03-26 18:54:26 233
原创 【leetcode】234. Palindrome Linked List(easy)
判断一个链表是不是回文链表。这里用到了前两天做的题目,反转链表。思路:一个快指针一个满指针,找到中间点,然后将中间点之后的链表反转,然后在遍历一次,总共是遍历了两次,时间O(n) ,空间O(1)/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex...
2019-03-18 11:06:58 182
原创 【leetcode】226. Invert Binary Tree(easy)
Invert a binary tree.Example:Input: 4/ 2 7/ \ / 1 3 6 9Output: 4/ 7 2/ \ / 9 6 3 1Trivia:This problem was inspired by this original tweet by Max Howell:Google...
2019-03-16 16:49:54 147
原创 【leetcode】206. Reverse Linked List(easy)
反转链表// 206. Reverse Linked ListListNode* Solution::reverseList(ListNode* head){ if (head == NULL || head-&gt;next == NULL) return head; ListNode * p = head; // p指向当前处理的原链表的位置 ListNode * res ...
2019-03-16 15:14:29 131
原创 【leetcode】198. House Robber(easy)
dp问题找一下规律,使用数学归纳法数组有一个元素那么就返回第一个,数组有两个元素,返回二者最大的,数组有3个的话,返回第二个和低三个与第一个和的最大值。用一个数组存一下dpdp[0] = n[0];dp[1] = n[1];dp[2] = max(dp[0] + n[2], dp[1])…dp[n] = max(dp[n-2] + n[n], dp[n-1])那么就很容易写出代...
2019-03-14 21:09:33 198
原创 【leetcode】169. Majority Element(easy 一次ac)
虽然效率较低,但是一次ac了。找数组中出现次数大于一半数组大小的数字。// 169. Majority Elementint Solution::majorityElement(vector<int>& nums){ unordered_map<int, int> m; for (int i = 0; i < nums.size(); ++i) ...
2019-03-12 19:30:47 126
原创 【leetcode】160. Intersection of Two Linked Lists(easy)
查找两个链表,有重合的那个节点。注意不要比链表中节点的值,而要比较指针将两个链表的长度统一,然后一边遍历即可。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NU...
2019-03-12 18:49:08 170
原创 【leetcode】155. Min Stack(easy)
在栈的结构上多加一个getMin方法,返回栈中的最小值。使用两个栈,一个来保存原有的值,另外一个初始push进去第一个值,当push第二个的时候,检查是不是比第一个小,如果比第二个栈的栈顶小,那么就push进去。// 155 Min Stackclass MinStack{ /** initialize your data structure here. */public: MinSt...
2019-03-12 17:20:20 134
原创 【leetcode】121. Best Time to Buy and Sell Stock(easy)
与 53. Maximum Subarray类似。https://blog.csdn.net/eclipse_c/article/details/88417065Kadane算法算法的变形// 121. Best Time to Buy and Sell Stock// 对于原数组,如果我们将arr[i]-arr[i-1],也就是股票某日与前一日价格差,依次排列成一个数组,那么所求问题的...
2019-03-12 16:15:55 162
原创 【leetcode】53. Maximum Subarray(easy)
给一个数组,然后算这个数组中最大子串的和。O(n) 时间复杂度,也就是一次遍历不要被这个子串迷惑了,class Solution {public: int maxSubArray(vector&lt;int&gt;&amp; nums) { int res = INT_MIN; int cur = 0; for (auto it = nums.cbegin(...
2019-03-12 11:16:36 125
原创 lua/c++中的三角函数与反三角函数,操作的是弧度非角度
c++中cos,sin,asin等等这些三角函数操作的是弧度,而非是角度,需要把角度转换为弧度。-- 参考 https://blog.csdn.net/yu121380/article/details/80410854function testMath() -- 弧度=角度*pi/180; -- 角度=弧度*180/pi; print(math.sin(30 * math.pi / 1...
2019-03-09 17:24:59 2895
原创 【leetcode】3. Longest Substring Without Repeating Characters (medium)
Given a string, find the length of the longest substring without repeating characters.Example 1:Input: “abcabcbb”Output: 3Explanation: The answer is “abc”, with the length of 3.Example 2:Input: ...
2019-03-02 16:39:51 116
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人