自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 leetcode-hot100 6.只出现一次的数字 (cpp)

图片来自leetcode//利用异或,异或满足交换定律,相同的异或结果为0,与0异或结果为本身class Solution {public: int singleNumber(vector<int>& nums) { int res = 0; for (auto i = nums.begin(); i < nums.end(); i++) { ...

2019-12-14 15:29:45 153

原创 leetcode-hot100 5.翻转链表 (cpp)

图片来自leetcodeclass Solution {public: ListNode* reverseList(ListNode* head) { ListNode* Prev=NULL; ListNode* Node = head; ListNode* newhead = NULL; while (Node != NULL) { ListNode* Nod...

2019-12-12 21:31:09 170

原创 leetcode-hot100 4.二叉树的最大深度 (cpp)

图片来自LeetCodeclass Solution {public: int maxDepth(TreeNode* root) { if (root == NULL) return 0; int Lth = maxDepth(root->left); int Rth = maxDepth(root->right); return max(Lth, Rth...

2019-12-12 21:10:52 157

原创 leetcode-hot100 3.翻转二叉树 (cpp)

图片来自leetcode//先序遍历,注意交换前的保存class Solution {public: TreeNode* invertTree(TreeNode* root) { if (root == NULL) { return NULL; } TreeNode* leftroot = root->left; root->lef...

2019-12-12 21:00:00 115

原创 leetcode-hot100 2.合并二叉树 (cpp)

//树的先序遍历,分左右,先做操作,再递归class Solution {public: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if (t1 == NULL) return t2; if (t2 == NULL) return t1; t1->val = t1->val + t2->...

2019-12-12 20:28:54 117

原创 leetcode-hot100 1. 打家劫舍III (cpp)

//对于相邻的两层节点,第一层右边的节点和第二层左边的节点完全可以求和的!!所以不能用层次遍历求和来迁移到一维DP计算//树状DP 自底向上#include<iostream>#include<unordered_map>#include<algorithm>using namespace std;struct TreeNode { int v...

2019-12-11 16:44:02 113

原创 C++最长回文子串

以字符本身为中心,或非字符处为中心扩展,两种方法遍历#include<iostream>#include<string>#include<algorithm>using namespace std;int CenterExpend(string,int,int);string lstPalindromSubstr(string s){ //...

2019-11-17 18:49:38 232

原创 C++由输入n确定数组长度的实现方法

使用vectorint main(){ int n; cin >> n; vector<int> arr(n); /* 此时可以进行以下赋值*/ arr[0] = 1; arr[1] = 3; cout << arr[0] <<" "<<arr[3]; /* 输入5 输出为1 0 (初始化为0) */} ...

2019-09-14 12:06:52 6576

原创 神奇数

有道Unity3D开发二面时,面试官出的题给出一个区间[a, b],计算区间内“神奇数”的个数。神奇数的定义:存在不同位置的两个数位,组成一个两位数(且不含前导0),且这个两位数为质数。比如:153,可以使用数字3和数字1组成13,13是质数,满足神奇数。同样153可以找到31和53也为质数,只要找到一个质数即满足神奇数。输入描述:输入为两个整数a和b,代表[a, b]区间 (1 ≤ a...

2019-09-02 10:16:37 515

原创 用两个栈来实现一个队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:push入栈1,完成队列的push操作。栈1pop出到栈2,完成倒序。从栈2pop出,返回,完成队列的pop操作(这时栈2有两种状态,空和不空,空的话再从栈1pop进来即可。)class Solution{public: void push(int node) { //从1入栈...

2019-08-16 22:32:33 94

原创 替换空格-字符串基础知识

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:由于要从末尾往前变换,首先遍历字符串,得到空格的总个数 count,从而知道第一次移动的位数 count2。从末尾开始,遇到空格之前,移动count2。遇到空格,移动并变成%20,count- -。#include<iostr...

2019-08-11 16:03:24 152

原创 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:动态数组, 利用从左到右递增,从上到下递增的特点,从数组右上角查起,要查找的数大于接下来数组中的数,则往下(i++),要查找的数小于接下来数组中的数,则往左(j–)。注意边界条件。/*二维数组输出(...

2019-08-10 20:10:32 103

原创 数位重排

牛牛有一个正整数x,牛牛需要把数字x中的数位进行重排得到一个新数(不同于x的数),牛牛想知道这个新数是否可能是原x的倍数。请你来帮他解决这个问题。输入描述:输入包括t+1行,第一行包括一个整数t(1 ≤ t ≤ 10),接下来t行,每行一个整数x(1 ≤ x ≤ 10^6)输出描述:对于每个x,如果可能重排之后变为自己的倍数输出"Possible", 否则输出"Impossible"....

2019-08-09 15:11:45 770

原创 构造队列-C++

小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序:while(!Q.empty()) //队列不空,执行循环{int x=Q.front(); //取出当前队头的值xQ.pop(); //弹出当前队头Q.push(x); //把x放入队尾...

2019-07-31 13:59:32 321

原创 洗牌-C++

洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并...

2019-07-31 13:57:51 747 1

原创 C语言-最大子列和

给定K个整数组成的序列{ N​1, N2, …, N​K},“连续子列”被定义为{ N​i, N​i+1, …, N​j},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 } 有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。#include<st...

2019-07-20 17:54:19 189

空空如也

空空如也

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

TA关注的人

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