- 博客(173)
- 收藏
- 关注
原创 360 笔试题 因子计算器的实现
要求:输入一个数,输出它的因子相乘形式。如10输出 - - | | - * -| | - -笔试的时候不知道是要求把这些都打印出来,还是计算出因子就OK,反正我打印出来了。也没调试完就交卷了。打印出来有点蠢蠢的。代码如下:#include#include#include#includeusing namespace std;
2015-09-15 22:26:44 794
原创 笔试题:求一个数的开方,如根号2
题目:求一个数的开方,如根号2,要求保留到小数点位后10位。解法一:也就相当于求一个数n的开方,我们用二分法进行计算,不断缩小范围,但是double、float不能直接等,最后如果 mid*mid和n的相差不超过一个指定的最小值。那么所求的mid就是我们得到的值。之后我们将它按照小数点之后10位打印出来就行。代码如下:#include#include#include
2015-09-11 16:14:20 2627 1
原创 去哪儿笔试题:寻找字符串数组中指定字符出现的字符串并排序
3请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回。结果字符串的顺序按照"Coder"出现的次数递减排列,若两个串中"Coder"出现的次数相同,则保持他们在原数组中的位置关系。给定一个字符串数组A和它的大小n,请返回结果数组。保证原数组大小小于等于300,其中每个串的长度小于等于200。同时保证一定存在包含cod
2015-09-09 22:39:36 2269
原创 找一个二叉树的最大路径和
题目:找一个二叉树的最大路径和,该二叉树没有其他的特征,元素大小val是整数,可正可负,输入根节点,输出最大路径和。解题思路:首先一条路径遍历到叶子节点的时候,两个叶子节点的根节点相同,也就是到其根节点的路径上节点的val的和是一样的,此时那个节点的值大,那么最大路劲就会在哪个路径上。这就是递归的最初思想,之后扩展到左右子树,唯一需要注意的是,节点的度不一定都是二,也可以是1.代码如下
2015-09-09 20:18:12 4287 1
原创 数组中出现一次的两个数 leetcode Single Number III
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given
2015-09-09 11:28:38 1000
原创 判断一个字符串是否可以表示一个数值
例子说明 例如,字符串“+100”,“5e2”,“-123”,“3.1416”及”-1E-16”都表示数值,但“12e”,”1a3.14”,”1.2.3”,”+-5”及“12e+5.4”都不是。 表示数值的字符串遵循如下模式:[sign]integral-digits[.[fractional-digits]][e|E[sign]exponential-digits]
2015-09-09 11:01:56 433
原创 正则表达式匹配
题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配思路:假设字符串为str,模式串为pattern,考虑以下情况:A
2015-09-08 17:47:25 350
原创 树中两个节点的最低公共父节点
题目:给出两个结点A和B,求解这两个结点的最低公共祖先(LCA)条件(1)树为二叉搜索树思路:二叉搜索树指的是每个父节点有两个子节点,并且节点的左子树均小于节点值,右子树上节点的值大于节点的值。所以我们求两个节点的最低公共父节点应满足(父节点大于其中一个节点且小于另外一个。)如果此时搜索的节点大于这两个节点,则最低父节点应在该节点的左子树中,相反的,此时搜索的节点小
2015-09-08 16:00:27 751
原创 实现字符串转为int
题目:自己实现一个函数strToint,不能使用atoi或者其他类似的库函数。解题思路:这个题不难,主要是靠考虑到各种情况,1、判断字符串是否为空2、保存正负号3、字符串中是否有无效字符(非数字)-->有该字符串无效4、是否会溢出!!!我们令出现上述情况时转换的int型数字为0,那么如何区分正常0和异常情况下的0,我们用一个标志位flag即可。代码如下:#i
2015-09-08 11:06:25 660
原创 n个筛子的点数
题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。分析:玩过麻将的都知道,骰子一共6个面,每个面上都有一个点数,对应的数字是1到 6之间的一个数字。所以,n个骰子的点数和的最小值为n,最大值为6n。因此,一个直观的思路就是定义一个长度为6n-n的数组,和为S的点数出现的次数保存到数组第S-n个元素里。另外,我们还知道n个骰子的所有点数的
2015-09-07 17:30:53 747
原创 笔试题:去除字符串两头空格,合并中间空格
例子: 原 " asd asda123 as ",返回字符串为“asd asda123 as”;解题思路:我们用另外一个字符串p去存储掉无效空格后的字符串,由原字符串开始往后遍历,首先去除开头的空字符,之后令一变量cnt等于空格出现的次数,一旦cnt>0并且不属于字符串尾端,就在p后面加上空格。代码如下:#include#includeusing nam
2015-09-07 15:40:51 540
原创 找一个字符串中重复的最长子序列
例如:abcdabcaabcd最长子序列为:abcd。下面我们介绍两种方法:第一种方法:倍增算法。也就是在序列中先以步长为1查看两个相邻的元素是否相等,都不相等,将步长加1,查看两个相邻为2的元素是否相等,不相等,步长再增加1,依次进行,直到步长为k时,两个元素相等,之后以这两个元素为起始端我们同时向后移动,遇到相同元素则在相同子序列上+1.之后和最长子序列长度比较大小,判断是
2015-09-05 20:24:40 1280
原创 01背包问题分析
“背包题目”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn,希望从N件物品中选择若干物品,所选物品的重量之和恰能放进该背包,即所选物品的重量之和即是S。递归和非递归解法都能求得“背包题目”的一组解,试写出“背包题目”的非递归解法。解法一:最初思路就是动态规划,动态规划求一组解,我们用f[i][j]用来表示前i件物品随意选择一些物品能
2015-09-03 19:59:17 555
原创 丑数
丑数:只包含因子2、3、5的数称作丑数。一、leetcode原题:Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example
2015-08-24 11:26:50 528
原创 树根 Digital root
数根(又称数字根Digital root)是自然数的一种性质,换句话说,每个自然数都有一个数根。数根是将一正整数的各个位数相加(即横向相加),若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止,或是,将一数字重复做数字和,直到其值小于十为止,则所得的值为该数的数根。例如54817的数根为7,因为5+4+8+1+7=25,25大于10则再加一次,2+5=7,7小于十,
2015-08-24 10:47:23 1229
原创 阿里笔试题:求两个子序列的最大连续子序列
原题如下:给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为 "acbac",text为"acaccbabb",那么text中的"cba"为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。解题方法一:和字符串匹配一样(http://blog.csdn
2015-08-22 11:41:13 1647
转载 关键字Static
1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include void fn();static int n; //定义静态全局变量void main(){ n=20; cout fn();}
2015-08-21 21:41:29 367
原创 STL map 按key值和按value值排序
map是用来存放键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储水果和其单价,我们用map来进行存储就是个不错的选择。 我们这样定义,map,其中水果用string类型,作为Key;该水果的单价用double类型,作为value。这样一来,我们可以根据水果名快速的查找到价格。 我们不仅要将水果和对应的价格输出,还想知道按照价格高低进行排序的结果。换句
2015-08-20 10:38:58 2057
原创 STL的pair
Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。pair赋值的方法:1)创建时初始化:pair fruit1("orange",4.5)
2015-08-20 10:04:23 794
原创 clone(),fork()与vfork()的区别
Linux提供三种方式复制子进程:fork(),clone(),vfork()。区别:fork()函数复制时将父进程的所以资源都通过复制数据结构进行了复制,然后传递给子进程,所以fork()函数不带参数;clone()函数则是将部分父进程的资源的数据结构进行复制,复制哪些资源是可选择的,这个可以通过参数设定,所以clone()函数带参数,没有复制的资源可以通过指针共享给子进程。Clon
2015-08-19 22:47:21 757
原创 linux数据流重定向
数据流重定向1)标准输入(stdin):代码为0,使用2)标准输出(stdout):代码为1,使用>或者>>3)标准错误输出(stderr):代码为2,使用2>或者2>>1> 覆盖(先删除之前的内容,后写入)1>>累加(在原先内容后面跟加)2> 覆盖(先删除之前的内容,后写入)2>>累加(在原先内容后面跟加)特殊用法,将stdout,stderr分别
2015-08-17 13:21:54 326
原创 linux 生名变量类型 declare
功能介绍:声明变量的属性,如果使用declare,后面没有任何参数,那么bash就会主动将所有变量名与内容都调出来,just as set. 语 法:declare [-aixr] variable 参数说明: -a :将后面的variable定义为数组 -i :将后面的variavle定义为整数数字 -x :用法与export一样,就是将后面的variab
2015-08-17 13:12:01 541
原创 linux 中各引号的作用
单引号:仅能显示一般字符,无特殊符号,变量只显示名,不显示值;双引号:可保有变量的内容;反单引号(键盘~键的下面那个符号就是):在“·”之间的命令将会被先执行;其执行出来结果将作为外部的输入信息。eg: ls -l `locate crontab`locate列出所有相关文件名,ls -l再列出各个为文件权限。
2015-08-17 13:06:14 1436
转载 linux目录结构
linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot: 放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文
2015-08-17 12:57:31 371
原创 文件类型
操作系统支持多种文件类型,UNIX和Windows中都有普通文件和目录。UNIX文件系统更为复杂。下面主要介绍linux的文件类型: 正规档案(regular file ):就是一般我们在进行存取的类型的档案,在由 ls -al 所显示出来的属性方面,第一个字符为 [ -],例如 [-rwxrwxrwx ]。另外,依照档案的内容,又大略可以分为:o纯文本档(ASCII):
2015-08-17 12:54:01 681
原创 linux系统的开机流程
开机流程:1)BIOS:开机主动执行的韧体,会认识第一个可开机设备;2)MBR:第一个可开机设备的第一个扇区内的主引导分区块,其中包含引导加载程序;3)引导加载程序:一支可读取内核文件来执行的软件,boot loader;4)内核文件:开始操作系统功能。CMOS与BIOS: 主要的功能为记录主板上面的重要参数, 包括系统时间、 CPU 电压不频率、各项设备癿 I/O
2015-08-17 12:31:46 598
原创 linux系统 硬链接和软链接
背景:当几个用户同在一个项目里工作时,常常需要共享文件。如果一个共享文件同时出现在属于不同用户的不同目录下,工作起来就很方便。例如B和C目录下有一文件D是两者都可以访问和修改的共享文件,这样是很方便,但也会有一些问题,如果目录中包含磁盘地址,则当连接文件时,必须把C目录中的磁盘地址复制到B目录中,如果B或C随后又往该文件中添加内容,则新的数据块将只列入进行添加工作的用户的目录中。其他的用户对此
2015-08-17 12:01:16 720
原创 Jump Game &Jump Game II
Jump GameGiven an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.
2015-08-16 14:55:42 499
原创 linux mkdir创建多层目录
默认情况下,无法建立多层目录[huage@localhost ~]$ mkdir -p 3/4/5加了-p参数后可以直接建立多层目录 -p, --parents no error if existing, make parent directories as needed
2015-08-15 18:55:14 15681
原创 linux cp命令批量复制不提示方法
功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息参数: -a 或 --archive 此参数的效果和同时指定"-dpR"参数相同 -b 或 --backup
2015-08-15 18:53:32 3754
原创 linux 修改root密码以及忘记root密码
修改root密码:$ passwd root 或者sudo passwd root$password: (要求输入旧的密码)$new password:(输入两遍新密码)忘记root密码怎么办?不需要重新安装,以单人维护模式登入即可。先将系统重新启劢,在读秒的时候挄下任意键就会出现选单画面, 按下『 e』就能够迚入 grub 的编辑模式了。此时你看到的画面有点像
2015-08-15 18:36:10 613
原创 linux关机重启指令
linux系统关机重启常用指令:1)将数据同步写入硬盘中的指令: sync2) 惯用的关机指令: shutdown3) 重新启动,关机: reboot, halt , poweroff下面详细介绍一下上述指令的作用:sync:所有的数据都得要被读入内存后才能够被 CPU 所处理,但是数据又常常需要由内存写回硬盘当中(例如储存的劢作)。 由亍硬盘的速度太慢(相对亍内存
2015-08-15 18:22:52 784
原创 Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.题目解析:判断一个整数是否是回文数,“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。
2015-08-09 19:38:42 679
原创 Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree.题目解析:用中序遍历和后续遍历还原二叉树。并且二叉树的节点的值没有重复的。这样就好做了,我们知道后序遍历
2015-08-04 22:22:05 448
原创 Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.Note:You may a
2015-08-03 20:34:15 1754
原创 Kth Largest Element in an Array
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.For example,Given [3,2,1,5,6,4] and k = 2, return 5.
2015-08-02 22:20:27 491
原创 Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm's runtime complexity must be in the order of O(log n).If the target is not found
2015-08-02 18:20:09 429
原创 Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[ [2], [3,4], [
2015-08-01 13:14:24 497
原创 Partition List
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of the nodes in each of
2015-07-31 22:45:26 439
原创 source sh执行脚本的区别
主要有两种方式执行shell脚本1)source test.bsh2)sh test.bsh1)souce执行脚本文件会在父程序中执行,各项动作都会在原本的bash内生效,执行过程不另开进程,脚本文件中设定的变量在当前shell中可以看到;如下例子:其中sh文件内容如下:就是通过read命令从命令行中读取两个字符串fi
2015-07-29 21:46:56 1740
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人