自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (剑指offer)二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:1.暴力解法:因为每一行是从大到小,所以在遍历每一行时,可以使用折半查找。平均复杂度为O(nlogm)2.简单解法:我们先分析题目,把二维数组在纸上画成一个矩形。列如:1 2...

2019-12-20 04:48:49 154

原创 1.数据库基础概念

1.区别:数据库系统(DataBase System,DBS),包括数据库(DataBase,DB),数据库管理系统(DataBase Management System,DBMS) DB是专门存数据的集合,是长期存储在计算机内的有组织、可共享的大量的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性; DBA :DataBase Administ...

2019-04-08 22:36:12 252

原创 2.一元线性回归(代价函数和梯度下降法)

概念:回归分析(Regression Analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。其中,被用来预测的变量叫做自变量,被预测的变量叫做因变量。如果包含两个以上的自变量,则称为多元回归分析。比方说有一个公司,每月的广告费用和销售额,如下表所示:...

2019-04-02 19:04:55 1173

原创 1.机器学习基础概念

数据集的分类:学习方式:监督学习、无监督学习、半监督学习监督学习 监督学习就是最常见的分类(注意和聚类区分)问题,通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优表示某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。也就具有了对未知数据分类的能力。...

2019-04-02 00:01:33 299

原创 (赛码编程)博弈问题

题目描述小赛是一名聪明的程序员。他的聪明确保他一定会应聘成功^_^~在应聘会上,人事主管向小赛提出了这样一个问题—— 这次招聘的规则是这样的:一共有n个人(n>1)参加应聘。人事主管事先选好了一个正整数x,他会把自己选的这个数x告诉前来应聘的每一个人。每个人(包括小赛)都可以选择1~m中的任意一个实数(就不要问实数是怎么选的啦2333)。参加应聘的人都不会知道其他人选择了...

2019-03-21 23:26:41 650 2

原创 (赛码编程)喷水装置

题目描述:小赛家有一块草坪,长为20米,宽为2米,妈妈要他给草坪浇水,在草坪上放置半径为Ri的喷水装置,每个喷水装置可以给以它为中心的半径为实数Ri(1<Ri<15)的圆形区域浇水。他家有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润。你能帮他计算一下,把整个草坪全部湿润,最少需要几个喷水装置。输入:输入第一个数字为喷水装置的个数n,后面n个数字分别为n个喷水装置的半径r,...

2019-03-18 22:06:45 545

原创 (赛码编程)路灯

题目描述V先生有一天工作到很晚,回家的时候要穿过一条长l的笔直的街道,这条街道上有n个路灯。假设这条街起点为0,终点为l,第i个路灯坐标为ai。路灯发光能力以正数d来衡量,其中d表示路灯能够照亮的街道上的点与路灯的最远距离,所有路灯发光能力相同。为了让V先生看清回家的路,路灯必须照亮整条街道,又为了节省电力希望找到最小的d是多少?输入:输入两行数据,第一行是两个整数:路灯数目n (1≤n≤...

2019-03-18 12:41:12 380

原创 (赛码编程) 字符判断

题目描述 判断字符串b的所有字符是否都在字符串a中出现过,a、b都是可能包含汉字的字符串。b中重复出现的汉字,那么a中也要至少重复相同的次数。汉字使用gbk编码(简单的说,用两个字节表示一个汉字,高字节最高位为1的代表汉字,低字节最高位可以不为1)。int is_include(char*a,char*b);返回0表示没有都出现过,返回1表示都出现过。请设计一个算法。...

2019-03-16 22:38:22 522

原创 java的Map接口方法(持续更新中)

1.Map.getOrDefault(K, V)检查一个map中匹配提供键K的值是否找到,没找到匹配的K就使用一个默认值V.2.Map.putIfAbsent(K,V)put与putIfAbsent区别:put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据,而putIfAbsent在放入数据时,如果存在重复的key,那么putIfAbs...

2019-03-16 14:52:02 278

原创 栈---表达式的转换规则及其求值方法

总结一下利用栈实现前缀、中缀、后缀表达式之间的转换规则。1.中缀转后缀 先画个栈存放操作符,再从左到右扫描中缀表达式,如果遇到操作数,直接把它从左往右写出来,如果遇到操作符,就把它入栈,但在入栈前先做一样工作,就是把它和栈顶运算符做比较,如果它的优先级小于或等于栈顶运算符,则栈顶运算符出栈,并写到当前结果的运算表达式的右边。若大于,则入栈。若栈空,直接入栈。遇到括号的情况,若遇到左括号,直...

2018-10-04 11:32:11 440

原创 (算法优化) 栈和队列(5)--用一个栈实现另一个栈的排序

题目:一个栈元素的类型为整数,现在要想将该栈从顶到底按从大到小的顺序排列,只允许申请一个栈,除此之外,可以申请一个变量,可以申请额外的变量,但是不能申请额外的数据结构,如何完成排序?解析:这道题的思路太简单了,设置两个栈stack和help,用一个中间变量存取stack每次弹出的元素temp,用temp和help的栈顶元素比较,当temp更大的时候,将help中的元素全部加入sta...

2018-09-30 10:12:42 179

原创 (算法优化) 栈和队列(3)--如何仅用递归函数和栈操作逆序一个栈

题目:一个栈一次压入了1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1.将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。 思路解析:由于要使用递归函数,我们很容易可以想到:如果有一个函数A,可以先帮我们把栈底的元素取出来,再使用递归函数B逆转剩下的栈(即已经移除栈底元素的栈),假设剩下的栈已经逆转完毕...

2018-09-29 22:31:31 234

原创 (算法优化) 栈和队列(2)--由两个栈组成的队列

题目: 编写一个类,用两个栈来实现队列,支持队列的基本操作(add,poll,peak). 解析: 用两个栈,一个作为压入栈,压入数据时只往这个栈压入,记为stackPush;另一个栈只作为弹出栈,在弹出数据时只从这个栈弹出,记为stackPop。如图所示:操作必须注意以下两点: 1.如果stackPush要往stackPop压入数据,那么必须一次性把stackPush中数据全部压入。...

2018-09-28 14:28:26 204

原创 (算法优化) 栈和队列(1)--设计一个有getMin功能的栈

题目:实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。要求:1、pop、push、getMin操作的时间复杂度都是O(1) 2、设计的栈类型可以使用现成的栈结构解析:设置两个栈stackData和stackMin,stackData用来保存压入栈的元素,stackMin用来保存每一步的最小值。当压入stackData中的元素小于或等于stackMin的...

2018-09-28 13:56:34 259

原创 2016年华为校园招聘编程题

第一题:      有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一...

2018-09-14 16:00:20 349

原创 排序算法java实现

排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。下表给出了常见比较排序算法的性能:排序算法的稳定性是个很重要的特性。排序算法稳定性的简单形式化定义为:如果Ai = Aj,排序前Ai在A...

2018-09-13 00:35:31 165

原创 java中的UUID

UUID是什么?UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间:UUID的第一个部分,与时间有关。如果你在生成一个UUID之后,过几秒又生成一个...

2018-07-26 00:13:32 255

原创 JAVA删除文件操作

          在我做的项目《基于在线学习的知识问答平台》中,有个模块涉及删除本地的资源文件。         在这个模块中使用了java.io.File包,其中File类表示一个文件或者文件夹。         在删除文件后,检查文件所在的文件夹是否为空,若为空,删除文件夹!代码如下:package test;import java.io.File;public c...

2018-07-19 13:08:48 798

原创 头条校招(今日头条2017秋招真题)

头条校招(今日头条2017秋招真题)题目描述 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队。每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来。在选题之前,我们对题目进行了盲审,并定出了每道题的难度系数。一场考试包含3道开放性题目,假设他们的难度从小到大分别为a, b, c,我们希望这3道题能满足下列条件:a<= b<= cb ...

2018-07-06 23:46:40 2630 1

原创 求并集(京东2017秋招编程真题)

题目描述:给你两个集合,要求 {A} + {B}。注:同一个集合中不会有两个相同的元素。输入多组(不超过 5 组)数据。每组输入数据分为三行,第一行有两个数字 n,m($0<n,m\leq10000$),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出 int 范围的整数,每个元素之间有一个空格隔开。输出针对每组数据输出一行数据,表示合并后的集合,要求...

2018-03-20 19:50:22 613

原创 对于JAVA中break关键字的作用范围

在算法练习时,我们常常会使用到循环语句,尤其有时候会嵌套使用很多层循环,在某些条件满足后我们又需要跳出循环,这时我们就需要用到break关键字了。以前我以为break是会跳出整个嵌套的循环,经过试验才发现break他只跳出一层循环!好了,废话少说,我们来看一段代码吧!代码如下:public class Test { public static void main(String[] args) {...

2018-03-19 23:35:52 4338

原创 成绩排序(清华研究生机试编程题)

题目描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩      都按先录入排列在前的规则处理。   例示:   jack      70   peter     96   Tom       70   smith     67   从高到低  成绩               peter     96       jack      70       ...

2018-03-19 21:49:13 1092

空空如也

空空如也

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

TA关注的人

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