自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

summer2day的博客

小白的漫漫进阶路

  • 博客(234)
  • 资源 (1)
  • 收藏
  • 关注

原创 顺时针九十度旋转矩阵

题目:给定一个nn的矩阵,顺时针把矩阵旋转90度。比如说{{1,2,3}{4,5,6}{7,8,9}}。顺时针旋转90度为{{7,4,1}{8,5,2}{9,6,3}}。解法一:时间复杂度为o(nn),空间复杂度为o(n)。步骤:(1)把矩阵的行当做一个整体,逆序矩阵中的行,也就是说把matrix[i]行和matrix[len - i]进行交换。(2)在交换后的矩阵中,按照对角线交换每个数,...

2019-09-21 22:40:13 729

原创 数组0,1和数组0,1,2排序

数组有0和1,将0排在1之前思路:采用两个指针,一个从前一个从后。p0找到不为0的值,p1找不到不为1的值,二者进行交换。void sort2(int* arr,int len){ int p0=0; int p1=len-1; while(p0<=p1) { if(arr[p0]==0) p0++; if(arr[p1]==1) p1--; swa...

2019-09-21 22:11:50 1455 1

原创 搭积木

题目描述小明有一袋子长方形的积木,如果一个积木A的长和宽都不大于另外一个积木B的长和宽,则积木A可以搭在积木B的上面。好奇的小明特别想知道这一袋子积木最多可以搭多少层,你能帮他想想办法吗?定义每一个长方形的长L和宽W都为正整数,并且1 <= W <= L <= INT_MAX, 袋子里面长方形的个数为N, 并且 1 <= N <= 1000000.假如袋子里共有...

2019-09-11 23:38:22 420

原创 从n个数中选出m个数的组合

找出从自然数1,2,3,…,n中任取m个数的所有组合。例如:n=5,m=3时,所有组合为543,542,541,532,531,521,432,431,421,321。#include<iostream>#include<cstdio> #define N 4 //被选择的数目#define M 2 //要选出来的数目 using namesp...

2019-09-11 16:55:15 4948

原创 小米笔试题

世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?示例1输入1999 2299输出7class Solution {public: /** * 获得两个整形二进制表达位数不同的数量 * * @param m 整数m * @param n 整数n * @ret...

2019-09-05 23:14:46 904

原创 【每日leetcode】路径总和、路径总和II、路径总和III

路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 ...

2019-09-02 21:36:17 260

原创 【每日leetcode】二叉树的所有路径

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入:1/ 2 35输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3/** * Definition for a binary tree node. * struct ...

2019-09-02 20:08:17 118

原创 找到所有数组中消失的数字

给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]参考大神的!太溜了思路:...

2019-08-30 19:08:14 153

原创 【每日leetcode】移掉k位数字

给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = “10200”, k ...

2019-08-30 15:23:42 194

原创 【每日leetcode】分糖果、分糖果II

分糖果给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。...

2019-08-30 14:35:09 1276

原创 全排列中缺少的数

对K个不同字符的全排列组成的数组,面试官从中随机拿走了一个,剩下的数组作为输入,请帮忙找出这个被拿走的字符串?比如[“ABC”,“ACB”,“BAC”,“CAB”,“CBA”]返回“BCA”思路:递归进行全排列,每一个排列出来的数在输入中查找是否存在。#include<iostream>#include<vector>#include<string> ...

2019-08-29 16:29:04 547

原创 句子反转

句子反转,“I am a boy.” 反转后“boy a am I”注意:句号没有了,最后没有空格。开始犯了好大问题,输入不能用cin,这样不会把空格作为字符串的一个字符,而是到空格就结束了。#include<iostream>#include<stack>#include<string> using namespace std;int main(...

2019-08-29 11:46:53 322

原创 腾讯2017秋招笔试编程题

游戏任务标记游戏里面有很多各式各样的任务,其中有一种任务玩家只能做一次,这类任务一共有1024个,任务ID范围[1,1024]。请用32个unsigned int类型来记录着1024个任务是否已经完成。初始状态都是未完成。 输入两个参数,都是任务ID,需要设置第一个ID的任务为已经完成;并检查第二个ID的任务是否已经完成。 输出一个参数,如果第二个ID的任务已经完成输出1,如果未完成输出0。如果...

2019-08-19 21:13:55 278

原创 网易2018 c++开发部分题以及编程题

如果C类子网的掩码为255.255.255.240,则包含的子网位数、子网数目、每个子网中的主机数目正确的是( )4 14 14解析:首先C类地址掩码为255.255.255.000 。可知子网号为240(1111 0000) 。所以子网位数为4,对于分类的IPv4地址进行子网划分时,子网号不能使用全1和全0(CIDR却可以),所以子网数为16-2=14。又因为主机号全0表该网络地...

2019-07-31 23:09:37 212

原创 360公司2018笔试编程题

画板沫璃有一个画板,画板可以抽象成有100行每行100个像素点的正方形。沫璃在画板上画画,她一共画了n次,每次将一个矩形涂上颜色。沫璃想知道一共有多少个像素点被她涂过颜色。若一个像素点被涂了k次,那么认为有k个像素点被涂过颜色。输入描述:第一行一个数T(T<=100),表示数据组数。对于每组数据,第一行一个整数n , (1<=n<=100)接下来n行,每行4个整数x1, y...

2019-07-31 17:10:27 361

原创 【网易2019编程题】

俄罗斯方块小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这局游戏他获得的分数。输...

2019-07-29 20:18:53 260

原创 判断字符串是否可以由字典中的字符串组成

字节跳动面试时的一到问题给定一个字符串s和一个字典dict,判断字符串能否有字典中的字符串组成,字典中的字符串可以出现多次。例如s=“Ilovebytedance”,dict={“I”,“love”,“bytedance”}用动态规划,dp[i]表示字符串s[0~i]是否可分的bool值。c++代码 bool wordBreak(string s, unordered_set<st...

2019-07-26 22:54:51 2788

原创 [每日leetcode]二叉树的锯齿形层次遍历

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]/** * Definition for a bi...

2019-07-26 22:46:32 110

原创 【程序员金典】双栈排序

题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到最后一个元素。测试样例:[1,2,3,4,5]返回:[5,4,3,2,1...

2019-07-20 21:02:05 142

原创 【程序员金典】回文链表

题目描述请编写一个函数,检查链表是否为回文。给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:falsec++代码方法一:链表前半部分入栈,后半部分与栈中的元素比较/*struct ListNode { int val; struct ListNode...

2019-07-20 20:17:00 147

原创 【程序员金典】链式A+B

题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。测试样例:{1,2,3},{3,2,1}返回:{4,4,4}c++代码/*struct ListNode { int val...

2019-07-20 18:56:15 127

原创 【程序员金典】链表分割

题目描述编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(...

2019-07-19 22:25:57 93

原创 【程序员金典】访问单个节点的删除

题目描述实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定待删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回truec++代码/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};*/cla...

2019-07-19 21:46:40 112

原创 【程序员金典】实时中位数

题目描述现有一些随机生成的数字要将其依次传入,请设计一个高效算法,对于每次传入一个数字后,算出当前所有传入数字的中位数。(若传入了偶数个数字则令中位数为第n/2小的数字,n为已传入数字个数)。给定一个int数组A,为传入的数字序列,同时给定序列大小n,请返回一个int数组,代表每次传入后的中位数。保证n小于等于1000。测试样例:[1,2,3,4,5,6],6返回:[1,1,2,2,3,...

2019-07-19 21:29:24 141

原创 【程序员金典】子串判断

题目描述现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。给定一个string数组p和它的大小n,同时给定string s,为母串,请返回一个bool数组,每个元素代表p中的对应字符串是否为s的子串。保证p中的串长度小于等于8,且p中的串的个数小于等于500,同时保证s的长度小于等于1000。测试样例...

2019-07-19 20:46:08 127

原创 【程序员金典】翻转子串

题目描述假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:“Hello world”,"worldhe...

2019-07-19 20:37:28 143

原创 【程序员金典】清除行列

题目描述请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。给定一个N阶方阵int[]mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector>),保证n小于等于300,矩阵中的元素为int范围内。测试样例:[[1,2,3],[0,1,2],[0,0,1]]返回:[[0,0,3],[0,0,0],[0,0,0]]解析:用两个数组分别记录包...

2019-07-19 20:06:46 160

原创 【程序员金典】像素翻转

题目描述有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。测试样例:[[1,2,3],[4,5,6],[7,8,9]],3返回:[[7,4,1],[8,5,2],[9,6,3]]...

2019-07-19 19:47:12 128

原创 【程序员金典】字符串互异

题目描述请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。测试样例:“aeiou”返回:True“BarackObama”返回:False方法一:时间...

2019-07-19 19:46:04 142

原创 【程序员金典】基本字符串压缩

题目描述利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。给定一个string iniString为待压缩的串(长度小于等于10000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。测试样例“aabcccccaaa”...

2019-07-19 11:31:14 103

原创 【程序员金典】空格替换

请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。测试样例:"Mr John Smith”,13返回:“Mr%20John%20Smith””Hell...

2019-07-19 11:17:50 88

原创 【程序员面试金典】确定两串乱序同构

题目描述给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串中的空格。给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。测试样例:“This is nowcoder”,“is This nowcoder”返回:t...

2019-07-19 10:40:19 98

原创 【程序员面试金典】原串翻转

题目描述请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。测试样例:“This is nowcoder”返回:“redocwon si sihT”C++代码:class Reverse {public: s...

2019-07-19 10:24:29 123

原创 合并两个有序数组,数组中包含有重复元素

#include<iostream>#include<vector>using namespace std; vector<int> mergearray(vector<int> arr1,vector<int> arr2) { vector<int> res; if(arr1.empty()&...

2019-07-18 23:56:11 276

原创 礼物的最大价值

在一个 m*n 的棋盘中的每一个格都放一个礼物,每个礼物都有一定的价值(价值大于0).你可以从棋盘的左上角开始拿各种里的礼物,并每次向左或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及上面个的礼物,请计算你最多能拿走多少价值的礼物?  比如说现在有一个如下的棋盘,  在这个棋盘中,按照(1,12,5,7,7,16,5)的顺序可以拿到总价值最大的礼物。#include<iostr...

2019-07-16 23:31:40 73

转载 找出数组中出现次数大于N/K的所有元素

转载自https://blog.csdn.net/Neo_dot/article/details/80642008https://blog.csdn.net/u013309870/article/details/69788342有一个整形数组,长度为n,有一个比较小的数k,求数组中出现次数多于n/k的数字要求空间复杂度O(k),时间复杂度O(k*n)思路:每次从数组中删除 K 个不同的数,...

2019-07-16 22:46:26 794

转载 蓄水池抽样——《编程珠玑》读书笔记

转载https://blog.csdn.net/huagong_adu/article/details/7619665问题:如何随机从n个对象中选择一个对象,这n个对象是按序排列的,但是在此之前你是不知道n的值的。思路:如果我们知道n的值,那么问题就可以简单的用一个大随机数rand()%n得到一个确切的随机位置,那么该位置的对象就是所求的对象,选中的概率是1/n。但现在我们并不知道n的值,这...

2019-07-15 20:12:23 130

转载 n个数中随机选取m个,要求概率相等

转载自:https://blog.csdn.net/u010296036/article/details/70036924for循环执行了n次,每次输出不同的i值,总共满足条件的i值有m个,因此,m个不重复的数的要求已达到。下面考虑如何等概率?i=0时,rand()%(n-i)取值范围为0-n-1,共计n个数,此时如果输出0,只需要rand()%(n-i)小于m,因此,i=0被输出的概率为m...

2019-07-15 19:24:15 4329

转载 螺钉螺母的匹配问题

转载自https://www.cnblogs.com/wyc199288/p/6395230.html?utm_source=itdadao&utm_medium=referral很早之前就看到一道关于螺钉螺母的ACM题目的。最近又看了“分治法”的思想,于是强迫自己去把这个代码写出来!题目如下:给你一堆螺母和螺帽,每个螺母都有一个相对应的螺帽,但是他们之间的对应关系已经打乱。你可以比...

2019-07-15 16:09:00 2447

原创 【每日leetcode】摆动排序II

摆动排序II空间复杂度O(n),时间复杂度O(nlogn)对原数组排序,得到排序后的辅助数组tmp对原数组的偶数位下标从末尾元素开始填充对原数组的奇数位下标从末尾元素开始填充注意:不要从头开始填充,例如[5 4 5 6],从头开始是[4 5 5 6],而从尾开始是[ 5 65 4]class Solution {public: void wiggleSo...

2019-07-13 00:05:00 90

斯坦福大学的bunny

斯坦福大学的兔子模型,bunny.ply

2016-09-21

空空如也

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

TA关注的人

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