自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构与算法分析:(五)循环链表
原力计划

一、前言相信小伙伴们在前面两篇文章的详细介绍已经对单向链表、双向链表有一个很清晰的认识了。数据结构与算法分析:(三)单向链表数据结构与算法分析:(四)双向链表接下来我们来介绍循环链表,你把单向链表、双向链表搞清楚了的话,循环链表自然也不难了。循环链表可分为:单向循环链表、双向循环链表。1、单向循环链表:单向循环链表跟单向链表唯一的区别就在尾结点。我们知道,单向链表的尾结点指针指向空...

2020-02-28 20:24:23 234

原创 数据结构与算法分析:(四)双向链表

一、双向链表介绍我们上一篇主要介绍了关于单向链表的操作,数据结构与算法分析:(三)单向链表。我们先来介绍下单向链表与双向链表的一些差异:1、单向链表只能从头遍历到尾或者从尾遍历到头(一般从头到尾)。链表相连的过程是单向的,实现的原理是上一个链表中有一个指向下一个链表的引用。缺点:a、单向链表不能自我删除,需要先找到被删除节点的前一个节点front,使用front节点来辅助删除,不方...

2020-02-25 00:30:39 374

原创 数据结构与算法分析:(三)单向链表

一、什么是链表?链表是一种物理上非连续、非顺序的存储结构,数据元素之间的顺序是通过每个元素的指针(类似C语言中的指针,Java中是引用)关联的。链表由一系列节点组成,每个节点一般至少会包含两部分信息:一部分是元素数据本身,另一部分是指向下一个元素地址的“指针”。这样的存储结构让链表相比其他线性的数据结构来说,操作会复杂一些。说到链表,我们经常拿来与数组比。我们先看下面一张图再来对比它们的各自...

2020-02-22 19:04:10 352 5

原创 百度研发工程师编程题——寻找三角形

一、题目三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用’R’, ‘G’, 'B’表示。现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。输入描述:首先输入一个正整数N三维坐标系内的点的个数.(N <= 50)接下来N行,每一行输入 c x y z,c为’R’, ‘G’, ‘...

2020-02-19 23:11:58 171

原创 百度研发工程师编程题——度度熊回家

一、题目一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离?输入描述:输入一个正整数N, N <= 50。接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等...

2020-02-19 00:13:18 152

原创 百度研发工程师编程题——买帽子

一、题目度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?输入描述:首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)输出描述:如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1输入例子1:1010 10 10 10 ...

2020-02-19 00:10:06 181

原创 数据结构与算法分析:(二)数组

一、前言这一篇我们来讲一下数组这种数据结构,相信大家在项目中也经常用到数组,数组是一种最基础的数据结构。虽然数组简单,但是设计者最初的想法你是否真正的了解呢?那么问题来了,什么是数组?我们先给出定义:数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。讲数组之前,我们先来回顾下线性表与非线性表。1、线性表顾名思义,线性表就是数据排成像一条线一样的...

2020-02-18 19:10:37 190

原创 阿里研发工程师编程题——统计一篇文章中每个单词出现的次数

一、题目输入例子1:If not now when , if not me who?输出例子1:if 2not 2now 1when 1me 1who 1二、代码实现import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Scan...

2020-02-17 22:41:54 240

原创 阿里研发工程师编程题——红包算法

一、题目红包算法,给定一个红包总金额和分红包的人数,输出每个人随机抢到的红包数量。要求:每个人都要抢到红包,并且金额随机每个人抢到的金额数不小于1每个人抢到的金额数不超过总金额的30%例如总金额100,人数10,输出【19 20 15 1 25 14 2 2 1 1】输入例子1:100 10输出例子1:【19 20 15 1 25 14 2 2 1 1】二、代码实...

2020-02-17 22:34:25 967

原创 腾讯研发工程师编程题——有趣的数字

一、题目小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,相差最小的有多少对呢?相差最大呢?输入描述:输入包含多组测试数据。对于每组测试数据:N - 本组测试数据有n个数a1,a2…an - 需要计算的数据保证:1<=N<=100000,0<=ai<=INT_MAX.输出描述:对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表...

2020-02-15 00:22:23 167

原创 Java如何优雅的处理插入数据,数据库有相同的数据则更新,没有的话则插入

一、前言相信小伙伴们在做后台开发的时候,经常要用到CRUD。经常用CRUD并不丢人,关键是怎么把CRUD用到更简洁、更极致,这样的一直下去的话,其实你慢慢的也成为了你眼中的那些大神们。我这里是用到了 JDK1.8的一些特性,不了解 JDK1.8的新特性的话,可以先简单了解一下。好了,废话不多说,我直接上代码了。二、代码实现package com.riemann.springbootdemo...

2020-02-14 22:15:32 523 2

原创 腾讯研发工程师编程题——字符移位

一、题目小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出移位后的字符串。输入例子1:AkleBiCeilD输出例子1:kleieilABCD二、代码实现...

2020-02-14 00:48:20 141

原创 腾讯研发工程师编程题——构造回文

一、题目给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子1:abcdagoogle输出例子1:22二、代码...

2020-02-13 15:28:29 118

原创 华为研发工程师编程题——扑克牌大小

一、题目扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王)????3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER...

2020-02-09 22:34:48 227

原创 华为研发工程师编程题——简单错误记录

一、题目开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录...

2020-02-09 22:32:05 213

原创 华为研发工程师编程题——最高分是多少

一、题目老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表...

2020-02-09 22:28:48 199

原创 华为研发工程师编程题——数独

一、题目数独是一个我们都非常熟悉的经典游戏,运用计算机我们可以很快地解开数独难题,现在有一些简单的数独题目,请编写一个程序求解。输入描述:输入9行,每行为空格隔开的9个数字,为0的地方就是需要填充的。输出描述:输出九行,每行九个空格隔开的数字,为解出的答案。二、代码实现import java.util.Scanner;public class Sudoku { p...

2020-02-08 19:09:49 619 3

原创 华为研发工程师编程题——字符集合

一、题目输入一个字符串,求出该字符串包含的字符集合。输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。输入例子1:abcqweracb输出例子1:abcqwer二、代码实现import java.util.Scanner;...

2020-02-08 19:07:46 167

原创 华为研发工程师编程题——删数

一、题目有一个数组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(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(小于等...

2020-02-08 19:03:25 135

原创 华为研发工程师编程题——进制转换

一、题目写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。输入例子1:0xA输出例子1:10二、代码实现import java.util.Scanner;public class BinaryTransform { public static v...

2020-02-07 21:15:25 128

原创 华为研发工程师编程题——明明的随机数

一、题目明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。Input Para...

2020-02-07 21:09:49 199

原创 华为研发工程师编程题——汽水瓶

一、题目有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述...

2020-02-07 21:05:32 139

原创 数据结构与算法分析:(一)复杂度分析

文章目录一、前言二、什么是复杂度分析?三、为什么要进行复杂度分析?四、如何进行复杂度分析?五、空间复杂度分析六、常用的复杂度级别七、最好、最坏、平均、均摊时间复杂度一、前言评判代码的性能好坏,有一个很重要的指标——复杂度。复杂度包括时间复杂度和空间复杂度,相信大家在各种书上都有见到过,但用起来又差点感觉,说实话,就是没吃透这个知识。这个专栏我们就来吃透它。我们都知道,数据结构和算法本身解决的是...

2020-02-07 00:10:42 572

原创 深入理解Java虚拟机:(十六) Java虚拟机的性能监控及诊断工具

一、概述像我们在定位系统问题的时候,我们经常会使用适当的虚拟机监控和分析的工具可以加快我们分析数据、定位解决问题的速度。我们下面来介绍 Sun JDK 监控和故障处理工具。名称主要作用jpsJVM Process Status Tool,显示指定系统内所有的 HotSpot 虚拟机进程jstatJVM Statistics Monitoring Tool,用于搜集...

2020-02-03 20:25:54 229

原创 深入理解Java虚拟机:(十五)自定义注解处理器

一、什么是注解?讲注解处理器之前我们先来了解下注解的相关知识。注解(annotation)是 Java 5 引入的,用来为类、方法、字段、参数等 Java 结构提供额外信息的机制。我先举个例子,比如,Java 核心类库中的 @Override 注解是被用来声明某个实例方法重写了父类的同名同参数类型的方法。@Target(ElementType.METHOD)@Retention(Reten...

2020-02-02 22:34:59 216

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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