自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(495)
  • 资源 (1)
  • 收藏
  • 关注

原创 1463. Cherry Pickup II

纠结在相交的情况下该怎么处理。该问题就是计算,假设A\B两人停在row-1行的各个位置,他们到达当前位置,路上和的最大值。dp[i][j1][j2] 定义为A停在[i][j1] B在[i][j2],他们到达当前位置,路上和的最大值。那么dp[i][j1][j2] = max(dp[i][j1-1:j1+1][j2-1:j2+1] )+grid[i][j1]+grid[i][j2]*(j1!=j2)然后利用这个dp,就可以天然的解决这问题。class Solution {public:

2020-06-02 11:52:38 392

原创 1467. Probability of a Two Boxes Having The Same Number of Distinct Balls

这是一道概率题,假设输入balls表示所有的球数目。要讲球等分成两部分,a and b。要求sum(a)==sum(b) and sumtype(a)==sumtype(b),总共有多少种分割方式。首先,总共的分割方式为perms(balls),比如balls = [1,2,3],1号颜色球有1个,2号颜色有2个,3号颜色有三个球。那么总共的扰动方式为6个位置中选1个,剩下5个位置中选2个,剩下3个位置放3个,总共是factor(sum(balls))/factor(ball[0])*factor(bal

2020-06-01 10:46:23 375

原创 网络相关知识总结

因为不是很懂这一块东西,也没有接触过,所以总结一下。常用的主要围绕ipv4地址(IPv4 地址后面由3个小数点分割开的数字就是本机的IP地址。),子网掩码(反应这个局域网内最多有几台机器,默认为255.255.255.0),默认网关三部分。首先是查看方式windows: cmd 中输入ipconfiglinux: ifconfig 返回式例为[root@glnode04 vm01-Cent...

2020-05-01 16:47:09 317

原创 1140. Stone Game II

我觉得这种题目贼难写。。。。首先还是一样,dp[i][M]定义为从【i,end-1】区间内,可以取到X属于[1, 2M]个点,使得当前人超过另一个人最多。当取X个点时,结果为A[i]+A[i+1]+…A[i+x-1]-dp[i+x][max(M,x)].也就是当前取到的是当前人超过的个数;dp[i+x][max(M,x)]就是另一个人超过当前人最多,就得动了这个解。也就是需要明确,什么时候结...

2020-04-12 14:29:25 148

原创 1405. Longest Happy String

每次写贪心的算法,都是一阵恶心。这个启发式的贪心规则该怎么设计,头疼。。。这个贪心规则是这样的,首先要选数量多的先放。除非后面两个都是这个,才会考虑放其他的。每次就放一个,而不是一下放多个。class Solution {public: // 还是很讨厌贪心算法,真是无从下手啊 // 数量多的一定是能放先放。除非量已经饱和,才会别的大的放其他。 string long...

2020-04-05 12:53:23 383

原创 127. Word Ladder

找无论有圈无圈的最短路,都要用广搜。深搜会超时的。class Solution {public: int ladderLength(string beginWord, string endWord, vector<string>& wordList) { unordered_set<string> dict(wordList.begin...

2020-03-29 20:51:54 123

原创 1277. Count Square Submatrices with All Ones

计算每个点作为起始点时,能够得到几个矩阵。class Solution {public: int func(vector<vector<int>>& matrix, int x, int y){ int row = matrix.size(); int col = matrix[0].size(); ...

2020-03-28 22:15:26 211

原创 1284. Minimum Number of Flips to Convert Binary Matrix to Zero Matrix

看了答案,加上每个点只能走一次这个前提,就可以进行dfs暴力搜索了。【因为一个点走两次==这个点没走,无论中间隔了多少个点都成立】class Solution {public: // 如何将一个mats经过若干步骤后翻转成全0的矩阵?? // 每次翻转,将改变四周以及当前位置 void flip(vector<vector<int>>&...

2020-03-28 20:25:20 222

原创 1248. Count Number of Nice Subarrays

想到了解法还是挺简答的,就是充分利用奇数存在的位置信息,来获取所有可能结果。class Solution {public: // 保存奇数的位置然后处理 int numberOfSubarrays(vector<int>& nums, int k) { vector<int> poss(1, -1); for(in...

2020-03-28 18:24:42 155

原创 1334. Find the City With the Smallest Number of Neighbors at a Threshold Distance

求解到所有路径的最短路=》弗洛伊德最短路方法class Solution {public: // Flody -> 找到任意两点之间的最短路径 int findTheCity(int n, vector<vector<int>>& edges, int distanceThreshold) { vector<...

2020-03-28 17:14:41 185

原创 1300. Sum of Mutated Array Closest to Target

虽然是暴力求解,但是要尽量把value的搜索范围压倒最小。现象1:value越大,整体sum一定越大现象2:target/arr.size()一定是value能取到的最小值,并且sum<target现象3: 随着value的增大,sum也是越来越大,但是当sum超越targte时候,就是应该结束判断的时候了。class Solution {public: // i...

2020-03-28 14:19:47 147

原创 1278. Palindrome Partitioning III

这种在计算para时候,还可以优化,进一步压缩时间。class Solution {public: // 将s分成k个非空不相交子串,每个是para // 对s至少替换多少次?返回最小次数。 int func(string s){ int ii=0; int jj=s.size()-1; int res = 0;...

2020-03-28 13:46:01 141

原创 1345. Jump Game IV

定义dp[i]为从i->end,最短路径长度。直接用dfs,由于有圈的存在,所以,每个点作为中间点的dp[i]和最为开始点的dp[]是不同的。所有都要逐一遍历,很慢。看了答案,才知道BFS才是最快的,首先,成环的部分,深度是无限大的。我们只用返回深度最小的就可以了。如果这个点已经走过了,那么后面就不用再走了,因为它一定是最短的。因此,对于有环走点问题,采用BFS是最优的。同时,它还需...

2020-03-27 22:48:55 272

原创 1312. Minimum Insertion Steps to Make a String Palindrome

这种字符串问题,本身就是一个编辑距离问题的简化版。class Solution {public: int minInsertions(string s) { int row = s.size(); int col = s.size(); vector<int> temp(col, 0); vector<v...

2020-03-27 19:32:49 280

原创 1318. Minimum Flips to Make a OR b Equal to c

通过cc推预测值class Solution {public: // 通过结果 vector<int> func(int num){ vector<int> res(32, 0); int pos = res.size()-1; while(num!=0){ res[pos--] =...

2020-03-27 18:56:53 154

原创 1335. Minimum Difficulty of a Job Schedule

递归太费时了,每次都是逐一处理。class Solution {public: // 定义为从i开始[i,jobDifficulty.size()-1], 还有d个分割方式,其和的最小值。 int dfs(int i, int d, vector<int>& jobDifficulty){ //ending early, not exccee...

2020-03-27 18:39:48 186

原创 1296. Divide Array in Sets of K Consecutive Numbers

应该是微软的一道编程题,用map就可以解决,但是要消息不要减去已有的数字。class Solution {public: // 每个set有k个数字并且是连续的, bool isPossibleDivide(vector<int>& nums, int k) { if(nums.size()%k!=0){ return...

2020-03-27 09:16:51 167

原创 1306. Jump Game III

dfs搜索问题class Solution {public: bool dfs(int pos, vector<int>& arr, vector<int>& visit){ if(arr[pos]==0){ return true; } // at pos, ca...

2020-03-27 08:37:38 140

原创 45. Jump Game II

用贪心算法,竟然对了,反正每次都走最远的位置就好了。class Solution {public: // 最直观的想法,就是统计所有到last的路径中,寻找路径最短的。 // 也就是统计所有结点到last的最短路径。 int dfs(vector<int>& nums, int pos){ if (nums[pos]+pos...

2020-03-27 08:36:49 119

原创 1340. Jump Game V

真不愧是hard的题目,其本质是就是给一个图,然后计算每个点的最深dp,但是不能重复计算,只能计算一次。所以设置了一个res,统计所有的结果。class Solution {public: // 跳跃1-d步骤,往左往右都可以,主要不超范围 // 并且中间不能有路障。 // 返回最多能走几个点呢?? // 这本质上就是一个图的dfs问题,还是能做的。 ...

2020-03-26 22:37:29 150

原创 1339. Maximum Product of Splitted Binary Tree

不算难,什么时候乘积最大呢?由于a+b=固定的,ab最大只有在|a-b|最小时候才会发生。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val...

2020-03-26 21:18:13 103

原创 1331. Rank Transform of an Array

class Solution {public: // 实现argmax函数 vector<int> arrayRankTransform(vector<int>& arr) { map<int, int> cnt; for(int i=0;i<arr.size();i++){ ...

2020-03-26 20:52:51 153

原创 1354. Construct Target Array With Multiple Sums

一开始想用递归的方法求解,但是搜索空间太大,超时。class Solution {public: // target 长度有限,但是内部元素比较大。 // target与顺序无关,只要有这些数字就可以了 // 如果当前和超越了target最大数据,那么就是不可能的 // 不需要逐次出现target里面的数字,可以不断迭代寻找。 // 感觉充斥着递归的思想...

2020-03-26 19:58:29 158

原创 1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold

计算前k个和class Solution {public: // 计算所有长度为k的子串和,计算和》=threshold*k的子串个数。 int numOfSubarrays(vector<int>& arr, int k, int threshold) { if (k>arr.size()){return 0;} //...

2020-03-25 21:44:22 140

原创 1344. Angle Between Hands of a Clock

每次统计和0度之间的角度,计算差class Solution {public: double angleClock(int hour, int minutes) { double minuteangle = double(minutes)*6.0; double time = double(hour) + double(minutes)/60.0; ...

2020-03-25 21:35:03 128

原创 1392. Longest Happy Prefix (KMP算法)

这就是kmp计算步骤中的第一步骤——计算最长前后串,记录一下思路,网上的教程很多,还是挺复杂的。这是我的思路整理。首先,本质上是一个dp问题。假设dp[i]表示字符串中,[0,i]区间内的最长前后串。主要分解成如下步骤,如果dp[i-1]=K,那么说明,[0,i-1]中,前K个和后K个一定是相同的。如果在上图中j位置s[j]==s[i],那么dp[i+1]就可以变成K+1如果不相同,假...

2020-03-24 19:53:49 184

原创 1388. Pizza With 3n Slices

这道题需要考虑清楚,该问题可以转化为给一个长度为3K的数组,从中选择不相邻(包括首尾不相连)的K个点,从而使得和最大。(只要满足上述条件即可)然后,首尾不可能同时取到,因此把他的环拆开,分成两种情况分析。这个问题用递归求解会超时(重复计算了),必须用dp开辟空间求解。class Solution {public: int func(vector<int>& sl...

2020-03-23 21:44:58 162

原创 1391. Check if There is a Valid Path in a Grid

就是很基础的dfs的问题。只要确定好在什么位置,哪些点能走就可以,然后逐级递推,得到最后判断结果。class Solution {public:// dfs problems bool dfs(vector<vector<int>>& grid, vector<vector<int>>& visits, int ...

2020-03-22 13:58:51 288

原创 1386. Cinema Seat Allocation

class Solution {public: int func(map<int, int>& blocks){ if (blocks.size()==0){ return 2; } // start 2,4,6 int count = 0; ...

2020-03-22 00:50:26 408

原创 697. Degree of an Array

class Solution {public: int findShortestSubArray(vector<int>& nums) { int maxlen = -1; map<int, vector<int>> cnt; for(int i=0;i<nums.size();i++){...

2020-03-20 12:51:53 95

原创 733. Flood Fill

洪水问题,需要注意当target和目标值一样时,应该怎么处理。class Solution {public: void func(vector<vector<int>>& image, int sr, int sc, int newColor, int oldColor) { int row = image.size(); ...

2020-03-18 19:57:46 95

原创 997. Find the Town Judge

找一个点A,所有其他点都与点A直接相连。思路就是计算所有点的直接连接点,然后寻找目标在不在这里面。class Solution {public: bool judgefind(vector<int>& vec, int num){ vector<int>::iterator it = find(vec.be...

2020-03-18 19:22:05 95

原创 1237. Find Positive Integer Solution for a Given Equation

/* * // This is the custom function interface. * // You should not implement it, or speculate about its implementation * class CustomFunction { * public: * // Returns f(x, y) for any given po...

2020-03-15 21:33:53 133

原创 1337. The K Weakest Rows in a Matrix

class Solution {public: vector<int> kWeakestRows(vector<vector<int>>& mat, int k) { vector<int> cnt; for(int i=0;i<mat.size();i++){ int ...

2020-03-15 20:48:36 192

原创 811. Subdomain Visit Count

class Solution {public: vector<string> split(string s){ string temp=""; vector<string> res; for(int i=0;i<s.size();i++){ if (s[i]==' ' || s...

2020-03-15 17:29:05 173

原创 821. Shortest Distance to a Character

class Solution {public: vector<int> shortestToChar(string S, char C) { vector<int> res(S.size(), 0); vector<int> Cpos; // [3,5,6,10] for(int i=0;i<S.s...

2020-03-15 15:59:13 101

原创 1200. Minimum Absolute Difference

class Solution {public: vector<vector<int>> minimumAbsDifference(vector<int>& arr) { // find 最小绝对差距 map<int, int> nums; sort(arr.begin(), arr.e...

2020-03-15 15:44:32 138

原创 876. Middle of the Linked List

走两次/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode...

2020-03-15 15:36:25 97

原创 559. Maximum Depth of N-ary Tree

/*// Definition for a Node.class Node {public: int val; vector<Node*> children; Node() {} Node(int _val) { val = _val; } Node(int _val, vector<Node*> ...

2020-03-15 15:28:47 111

原创 922. Sort Array By Parity II

很简单class Solution {public: vector<int> sortArrayByParityII(vector<int>& A) { vector<int> Aeven; vector<int> Aodd; for(int i=0;i<A.size();i+...

2020-03-15 15:22:15 119

SVM中SMO实现代码

SVM中SMO实现代码

2017-04-22

空空如也

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

TA关注的人

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