自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 557.反转字符串中的单词III

class Solution { public: string reverseWords(string s) { int index,right,mid,t,i; bool flag = false; index=0; right=0; for ( i = 0; i < s.size(); ) { ...

2020-01-31 17:55:02 57

原创 543.二叉树的直径

思路:不一定最长路径一定要穿过根节点,所以每个节点都要遍历,把每个节点作为根节点,然后,算出根节点左子树的最大深度和右子树的最大深度,把把左右子树的最大深度加起来,作为暂时当前根节点的最大路径长度。把所有节点作为根节点,比较所有根节点的最大路径长度,选最大的。class Solution {public: int md, td; int diameterOfBinaryTree(Tr...

2020-01-31 17:00:01 170

原创 482.密匙格式化

class Solution{public: string licenseKeyFormatting(string S, int K) { string s; s = ""; int cnt = 0; for (int i = S.size()-1; i >= 0; i--) { if (S[i] == '-') continue; el...

2020-01-26 19:54:42 132

原创 463.岛屿的周长

这种方法不好,暴力破解。 超出内存容量,但我写了这么久,还是发出来表示一下我的辛苦。int b[4][2] = { {-1,0}, {0,1}, {0,-1}, {1,0}};class Solution {public: int cnt,m,n; vector<vector<bool>> visit; int islandPerime...

2020-01-23 17:54:33 86

原创 461.汉明距离

思路:刚开始看不懂题目,后来看懂了,1与0不同,记录,相同不记录。最后相同位置不同元素的的数量之和。class Solution {public: int hammingDistance(int x, int y) { int a, b,cnt=0; while (x || y) { a = x % 2; b = y % 2; if (a != b) ...

2020-01-23 11:43:11 65

原创 459.重复的子字符串

解释: 可由子字符串 “abc” 重复四次构成。 (或者子字符串 “abcabc” 重复两次构成。)分析:判断一个字符串是否可以有多个子字符串构成,则该子字符串的长度不能大于该字符串长度的一半,所以可以从0到n/2进行遍历,如果i能被n整除,则进行验证。class Solution {public: bool repeatedSubstringPattern(string ...

2020-01-23 11:11:57 76

原创 453.最小移动次数使数组元素相等

分析:逆向思考,每次移动让剩余的n-1个数加1,相当于每次移动让选定的那个数减1,所以最少移动次数其实就是所有元素减去最小元素的和class Solution {public: int minMoves(vector<int>& nums) { long int sum; int min1; sum = 0; min1 = INT_M...

2020-01-23 09:05:07 136

原创 443.压缩字符串

struct node{ int num; char c;};class Solution {public: int compress(vector<char>& chars) { vector<node>m; int cnt2 = 0; if (chars.size() == 1) return 1; if (chars...

2020-01-22 21:52:05 142

原创 437.路径总和III

借鉴别人的。class Solution {public: int cnt = 0; int pathSum(TreeNode* root, int sum) { if (!root) return 0; dfs(root, sum); pathSum(root->left, sum); pathSum(root->right, sum)...

2020-01-22 18:25:27 105

原创 434.字符串中的单词数

class Solution {public: int countSegments(string s) { int cnt = 0, i; for (i = 0; i < s.size(); i++) { while (s[i] == ' ') i++; while (i < s.size() && s[i] != ' ')...

2020-01-21 23:34:09 123

原创 414.第三大的数

class Solution {public: int thirdMax(vector<int>& nums) { int num1, num2, num3; num1 = INT_MIN; num2 = INT_MIN; num3 = INT_MIN; for (int i = 0; i < nums.size(); i++) nu...

2020-01-21 22:25:56 87

原创 412.Fizz Buzz

class Solution {public: vector<string> fizzBuzz(int n) { vector<string>res; string s; s=""; int sum; for (int i = 1; i <= n; i++) { if (i% 3 == 0) ...

2020-01-21 15:43:56 203

原创 409.最长回文串

一开始觉得这个题目很难,但是仔细看一下,其实是拿字符串里面的字符来构造回文串。怎样才能构造回文串呢?对称的才是回文串,所以只要有偶数个同样的字符就行了。比如AAAABBCBBAAAA1、只要有偶数个相同的字符,那么他们就能对称分两边,肯定可以啊2、中间加一个单个的字符就行,因为中间加上一个也是回文。3、如果是奇数的话,选其中偶数个就行了。...

2020-01-21 15:19:38 142

原创 257.二叉树的所有路径

class Solution {public: vector<string> binaryTreePaths(TreeNode* root) { vector<string> res; string s = ""; if (!root) return res; else dfs(root, s, res); return res;...

2020-01-20 21:46:03 118

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

【笔记】核心思想,使用位运算,每4位,对应1位16进制数字。使用0xf(00...01111b)获取num的低4位。 >>算数位移,其中正数右移左边补0,负数右移左边补1。 位移运算并不能保证num==0,需要使用32位int保证(对应16进制小于等于8位)。class Solution {public: string toHex(int num) { sta...

2020-01-20 20:46:20 218

原创 404.左叶子之和

class Solution {public: int sumOfLeftLeaves(TreeNode* root) { if (!root) return 0; else if (pd(root->left))//当前节点的左孩子是左叶子,则返回左结点值+右子节点的递归结果 return root->left->val + sumOfLeftL...

2020-01-20 19:05:25 149

原创 392.判断子序列

class Solution {public: bool isSubsequence(string s, string t) { int index,j; index = 0; for (int i = 0; i < s.size(); i++) { for ( j = index; j < t.size(); j++) { if (s[...

2020-01-20 16:26:27 119

原创 389.找不同

思路:哈希class Solution {public: char findTheDifference(string s, string t) { map<char, int>m1, m2; for (int i = 0; i < s.size(); i++) if (m1.find(s[i]) == m2.end()) m1[s[i]] =...

2020-01-20 16:03:07 53

原创 387.字符串的第一个唯一字符

class Solution {public: int firstUniqChar(string s) { if (s.size() == 0) return -1; map<char, int>map1,map2; for (int i = 0; i < s.size(); i++) if (map1.find(s[i])...

2020-01-20 12:07:34 42

原创 350.两个数组的交集II

class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { vector<int> nums3; map<int,int >map1; for (int i = 0; i < n...

2020-01-20 11:11:18 116

原创 349.两个数组的交集

class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { set<int>s1,s2; vector<int> nums3; for (int i = 0; i < nu...

2020-01-20 10:45:25 51

原创 345.反转字符串中的元音字母

class Solution {public: string reverseVowels(string s) { int left, right; left = 0; right = s.size() - 1; while (left <= right) { while (left<=right&&!isTrue(s[left]))...

2020-01-20 10:23:53 134

原创 303.区域和检索

思路:画图分析class NumArray {public: vector<int> arr; NumArray(vector<int>& nums) { int sum = 0; for (int i = 0; i < nums.size(); i++) { sum += nums[i]; arr.push_back...

2020-01-18 22:20:05 50

原创 299.猜数字游戏

class Solution {public: string getHint(string secret, string guess) { map<char, int>s; int cnt1, cnt2; cnt1 = cnt2 = 0; for (int i = 0; i < secret.size(); i++) { if (secret...

2020-01-18 21:29:14 93

原创 283.移动零

思路:双指针,一个快指针,一个慢指针,快指针遍历,遇到零的元素继续走,遇到非零元素就与慢指针交换。忙指针记录的是非零元素的下一个位置。class Solution {public: void moveZeroes(vector<int>& nums) { int index = 0,tmp; for (int i = 0; i < nums.size(...

2020-01-18 20:34:52 55

原创 292.Nim游戏

思路:由于自己先走,但凡石头的块数是4,或者4的倍数,自己都会失败。class Solution {public: bool canWinNim(int n) { if (n % 4 == 0) return false; else return true; }};...

2020-01-18 17:00:45 60

原创 290.单词规律

class Solution {public: bool wordPattern(string pattern, string str) { map<char, string>map; set<string>set; string s=""; int first, end,cnt; first = end = 0; cnt =...

2020-01-17 21:44:23 117

原创 stl::map的遍历

std::map<char, string>::iterator it; for (it = map.begin(); it != map.end(); it++) cout << it->first << ":" << it->second << endl;

2020-01-17 21:12:43 325

原创 278.第一个错误的版本

方法一:暴力破解,时间超出bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { for (int i = 1; i < n; i++) { if (!isBadVersion(i) && !isBadVersion(i + 1)...

2020-01-17 20:18:33 101

原创 268.缺失数字

class Solution {public: int missingNumber(vector<int>& nums) { int n = nums.size(); int sum = n * (n + 1) / 2,cnt=0; for (int i = 0; i < nums.size(); i++) cnt += nums[i]; ...

2020-01-17 16:34:21 68

原创 263.丑数

class Solution {public: bool isUgly(int num) { if (num == 1) return true; int flag=num; while (num!=1) { if (num % 2 == 0) num /= 2; if (num % 3 == 0) num /= 3; if (n...

2020-01-17 15:52:46 53

原创 258.各位相加

class Solution {public: int addDigits(int num) { stack<int>s; int sum; while (1) { while (num) { s.push(num % 10); num /= 10; } sum = 0; while (s.size()) {...

2020-01-17 15:31:21 130

原创 图搜索三

2020-01-17 11:25:43 96

原创 图搜索二

2020-01-17 10:43:35 48

原创 图搜索

2020-01-16 22:44:10 77

转载 八数码问题

https://blog.csdn.net/lishang6257/article/details/79732420https://www.cnblogs.com/guanghe/p/5485816.html(符合教材)

2020-01-16 16:33:15 69

原创 242.有效的字母异位词

字母异位词:两个字符串长度相等,各个字母的个数相等,只是顺序不同方法一:利用map键值对直接匹配,但是这种很暴力class Solution {public: bool isAnagram(string s, string t) { if (s.length() != t.length()) return false; map<char, int>sm...

2020-01-15 22:02:22 108

原创 237.删除链表中的节点

class Solution {public: void deleteNode(ListNode* node) { node->val=node->next->val; node->next=node->next->next; }};

2020-01-15 16:15:14 47

原创 226.反转二叉树

struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Solution {public: TreeNode* invertTree(TreeN...

2020-01-15 16:05:38 51

原创 234.回文链表

思路:判断链表的长度(n),判奇偶性,把前面一半的元素的值放在栈中,对比。 struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };class Solution {private: int length(ListNode *he...

2020-01-15 15:46:54 60

python的学习PPT

python 小白入学 多看看 内容详解 各种模块 比如说列表,字典,元组,模块与包,os的常用方法,文件的读写,多进程与多线程,numpy,pandas,matplotlib包的方法使用

2020-09-02

西安电子科技大学.zip

一、盲目搜索,图搜索(A算法,A*算法)。 二、与或图,博弈论、剪枝。 三、谓词逻辑,归结原理 四、知识 五、贝叶斯网络。

2020-03-05

福州大学863数据结构ppt.zip

福州大学863数据结构ppt,共有12章节。 第1章 数据结构与算法概论 第2章 表 第3章 栈 第4章 队列 第5章 排序与选择 第6章 树 第7章 图 第8章 集合 第9章 符号表 第10章 字典 第11章 优先队列 第12章 并查集

2020-01-10

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

TA关注的人

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