自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DUT_LYH

行百里 半九十

  • 博客(15)
  • 收藏
  • 关注

原创 leetcode 705. 设计哈希集合

看了范围不是很大使用了数组,不是正规解法class MyHashSet {public: /** Initialize your data structure here. */ bool * hx; MyHashSet() { hx = new bool [1000001]; memset( hx,0,1000001 ); }...

2019-10-31 22:08:50 369

原创 leetcode 703. 数据流中的第K大元素 小顶堆

建立一个大小为k的最小堆,堆顶就是第k大的元素数据流中如果有比k大的元素,入堆,重新调整,保持一共k个元素如果比k小直接返回堆顶即可#include <iostream>#include <vector>#include <algorithm>#include <functional>using namespace std;#de...

2019-10-31 12:25:13 251

原创 leetcode 581. 最短无序连续子数组 排序nlogn vs O(n)解法

排序O(nlogn)之后找到第一个交换和最后交换的位置class Solution {public: int findUnsortedSubarray(vector<int>& nums) { vector<int> nn(nums); sort(nn.begin(),nn.end()); int s =...

2019-10-29 21:43:09 288

原创 DUTOJ-1018: totoday的难题

一共三种情况白(-2) => 黑(+1)最终 白(-2)黑(+1)白(-1)黑(-1) => 白(+1) 最终 黑(-1)黑(-2) => 黑(+1) 最终 黑(-1)可以看出白球只能是每次减少2最后剩余一个球,那么白球是最开始是奇数最后就一定剩下白球,白球最开始是偶数最后就是一定是黑球#include <iostream>#include <...

2019-10-26 16:49:47 383

原创 leetcode 459. 重复的子字符串

题解class Solution {public: bool repeatedSubstringPattern(string s) { string ss = s+s; ss = ss.substr(1,ss.size()-2); return ss.find(s)!=-1; }};证明:

2019-10-25 15:06:11 252

原创 leetcode 405. 数字转换为十六进制数

除以16取余 继续这个过程直到为0对于负数,直接将int 转成 unsigned int 运算即可法二:利用位运算取出每四位 ,然后对应一个字母class Solution {public: string toHex(int num) { if(num==0){ return "0"; } string ret...

2019-10-25 14:32:39 189

原创 leetcode 496. 下一个更大元素 I

用map记录nums2里面每一个元素的下标然后遍历nums1 从下标位置的下一个元素开始找class Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { map<int,int&gt...

2019-10-25 12:30:49 254

原创 leetcode 437. 路径总和 III

class Solution {public: int cnt = 0; int sum1 = 0; int pathSum(TreeNode* root, int sum) { this->sum1 = sum; findw( root,sum ); return cnt; } void findw(...

2019-10-21 23:30:35 252

原创 leetcode 198. 打家劫舍

dpclass Solution {public: int rob(vector<int>& nums) { vector<int> dp( nums.size(),0); int ret = 0; bool qian = 0; if( nums.size() >= 1 ){ ...

2019-10-17 14:22:52 300

原创 leetcode 221. 最大正方形

dp转态转移方程:matrix[i][j]=='1': dp[i][j] = 1+min( dp[i-1][j-1], min( dp[i][j-1],dp[i-1][j] ));matrix[i][j]=='0': dp[i][j] = 0;先初始化行和列class Solution {public: int maximalSquare(vector<vector...

2019-10-17 13:40:41 224

原创 leetcode 40. 组合总和 II

利用set去重,一维vector判断相等需要都按照一种顺序排好超时class Solution {public: vector<vector<int>> ret; vector<int> can; set< vector<int> >ans; vector<vector<int>&g...

2019-10-16 21:36:04 161

原创 leetcode 99. 恢复二叉搜索树

中序遍历,弄在数组里面,再弄个数组复制一份排好序比较哪里错了,换回来中序遍历的时候用map存一下数字的地址(默认没有重复元素)class Solution {public: vector<int> zhong; map<int,TreeNode*> dizhi; void recoverTree(TreeNode* root) { ...

2019-10-15 23:16:11 197

原创 leetcode 86. 分隔链表

把小于(或者大于等于)的结点单独弄成一个链表,直接调整指针class Solution {public: ListNode* partition(ListNode* head, int x) { ListNode * da = nullptr; ListNode * dt = nullptr; ListNode * temp = new ...

2019-10-08 19:22:26 167

原创 leetcode 204. 计数质数

筛法,从一个质数的2倍开始依次筛去合数,不够优化class Solution {public: int countPrimes(int n) { if( n<2 ){ return 0; } bool *pri = new bool[n+1]; fill( pri,pri+n+1,1 );...

2019-10-07 21:47:21 130

原创 leetcode 41. 缺失的第一个正数

遍历数组,将数组中数字在0至n-1的放在0至n-1的位置从头遍历,第一个i位置上不是i的时候 返回i需要考虑重复元素的情况,故交换元素的时候要加上条件if( nums[i]>=0 && nums[i] < nums.size() && i != nums[i] && nums[i] != nums[ nums[i]] )class...

2019-10-02 11:33:49 172 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除