2 dos diosas

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

LeetCode:142. 环形链表 II

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *detectCycle(ListNode *head) { set<ListNode *&gt

2020-07-02 19:39:51

LeetCode:3. 无重复字符的最长子串

class Solution {public: int lengthOfLongestSubstring(string s) { int freq[256]={0};//初始化的时候滑动窗口中没有任何字符,freq记录当前字串中各个字符的出现频率 int l=0,r=-1;//滑动窗口为s[l..r] int res=0;//记录当前找到的满足条件的最长子串的长度是多少 while(l<s.size()) {

2020-07-02 18:37:16

LeetCode:441. 排列硬币

class Solution {public: int arrangeCoins(int n) { //通过等差数列求和公式,计算出一共可能的行数,然后进行求解一元二次方程 return floor(sqrt(2)*sqrt(0.125+n)-0.5); }};

2020-07-02 18:34:47

LeetCode:701. 二叉搜索树中的插入操作

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *

2020-07-02 15:02:16

LeetCode:593. 有效的正方形

class Solution {public: int dist(vector<int>p1,vector<int>p2) { return (p1[0]-p2[0])*(p1[0]-p2[0])+(p1[1]-p2[1])*(p1[1]-p2[1]); } bool validSquare(vector<int>& p1, vector<int>& p2, vector<int>&

2020-07-02 14:47:39

LeetCode:812. 最大三角形面积

本题目采用暴力破解法既可以得到AC解法,这里关键的问题是如何通过三个顶点的坐标求解出这三个顶点所构成的三角形的面积。当三个点A、B、C的坐bai标分别为A(x1,y1)、B(x2,y2)、C(x3、y3)时,三角形面积为S=(x1y2-x1y3+x2y3-x2y1+x3y1-x2y2)。解:       设三个点A、B、C的坐标分别为       A(x1,y

2020-07-02 14:16:47

LeetCode:378. 有序矩阵中第K小的元素

class Solution {public: int kthSmallest(vector<vector<int>>& matrix, int k) { priority_queue<int, vector<int>> q; for(int i=0;i<matrix.size();i++) { for(int j=0;j<matrix[i].size();j

2020-07-02 12:00:47

LeetCode:235. 二叉搜索树的最近公共祖先

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* lowestCommonAncestor(

2020-07-02 11:45:27

LeetCode:622. 设计循环队列

class MyCircularQueue {public: list<int>obj; int size=0; int capacity; /** Initialize your data structure here. Set the size of the queue to be k. */ MyCircularQueue(int k) { capacity=k; } /** Insert an eleme

2020-07-02 11:08:30

LeetCode:641. 设计循环双端队列

class MyCircularDeque {public: list<int>obj; int size=0; int capacity; /** Initialize your data structure here. Set the size of the deque to be k. */ MyCircularDeque(int k) { this->capacity=k; } /** Adds a

2020-07-02 10:08:41

LeetCode:628. 三个数的最大乘积

class Solution {public: int maximumProduct(vector<int>& nums) { sort(nums.begin(),nums.end()); //只需要求出最大的三个数以及最小的两个数 if(nums.size()>=5) { int max1=nums[nums.size()-1]; int max2=nums

2020-07-02 09:42:06

LeetCode:637. 二叉树的层平均值

                  值得注意的是,我在解决这个问题的时候下意识地将求和写成了accummulate函数的调用形式,可是这个函数是不能处理溢出的情况的,所以求和函数需要自己手写。/** * Definition for a binary tree node. * struct TreeNode { * int

2020-07-02 09:25:16

Leetcode:1260. 二维网格迁移

class Solution {public: vector<int>shiftRight(vector<int>v, int k) { reverse(v.begin(),v.end()); reverse(v.begin(),v.begin()+k); reverse(v.begin()+1+k,v.end()); return v; } vector<vector<in

2020-07-02 08:50:24

LeetCode:744. 寻找比目标字母大的最小字母

class Solution {public: char nextGreatestLetter(vector<char>& letters, char target) { letters.push_back(letters[0]); if(target!='z') { for(int i=0;i<letters.size();i++) { if(

2020-07-01 13:01:30

LeetCode:728. 自除数

class Solution {public: bool isSelfDivided(int i) { int temp=i; while(i) { if(temp%(i%10)!=0) { return false; } i/=10; } return true; }

2020-07-01 12:17:38

LeetCode:724. 寻找数组的中心索引

分别计算某一个元素左右两边的元素累加和,计算完毕之后,遍历这两个数组的过程中,如果某一对应(i对应nums.size()-i-1,也就是数组中的任意对称位置的下标)位置的累加和是相等的,那么就直接返回,否则在未找到的前提下返回-1.class Solution {public: int pivotIndex(vector<int>& nums) { vector<int>left;//存储左侧元素累计和,包含当前元素 vector&

2020-07-01 12:05:43

LeetCode:319. 灯泡开关

class Solution {public: int bulbSwitch(long long n) { //本题提可以转化为求解完全平方数的个数 //只有完全平方数位置上的灯在一次遍历的时候仅仅被拉一次而不是完全平方数的数字N //将其拆解为N=a*b那么在a,b次开灯泡的时候,原有的操作就会被抵消 long long i=1; long long count=0; if(n==1)

2020-07-01 10:52:16

LeetCode:1207. 独一无二的出现次数

class Solution {public: bool uniqueOccurrences(vector<int>& arr) { vector<int>assist(2001,0); for(int i=0;i<arr.size();i++) { assist[arr[i]+1000]++; } //计算assist中不为零的数字的个数

2020-07-01 09:35:24

LeetCode:1200. 最小绝对差

class Solution {public: vector<vector<int>> minimumAbsDifference(vector<int>& arr) { sort(arr.begin(),arr.end()); //找到最小绝对差 int min=65535; for(int i=1;i<arr.size();i++) { if(

2020-07-01 09:18:38

LeetCode:173. 二叉搜索树迭代器

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class BSTIterator {public: vector<int>res;

2020-07-01 09:03:27

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取