Java题集
dhiwhdiow
这个作者很懒,什么都没留下…
展开
-
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
解法:异或异或运算的特点:两个相同的数字异或,结果为0。因为数组中除了一个元素只出现一次之外,其它的元素都出现两次,如果把所有的数都异或,相同的数字异或为0,最后只剩下出现一次的数字,它和0异或,结果就是它本身。package www.nice.java;/** * 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。 * 找出那个只出现了一次的元素。...原创 2018-11-09 09:37:11 · 11506 阅读 · 3 评论 -
从前序与中序序列构造二叉树、从中序与后序序列构造二叉树
题目描述:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7在做这道题之前,我们要先清楚前序遍历、中序遍历与后序...原创 2019-02-18 15:04:46 · 672 阅读 · 0 评论 -
递归生成n位格雷码
题目描述:在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码,请编写一种函数,使用递归的方式生成n为的格雷码。给定一个整数n,返回n位的格雷码,顺序从0开始。根据题意,我们先来看一下出入不同的数,输出的结果是多少?输入1:0 1输入2:00 01 11 10输入3:000 001 011 010 110 111 101 100。。。...原创 2019-03-16 11:15:22 · 982 阅读 · 0 评论 -
奇偶校验
题目:输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。输入描述:输入包括一个字符串,字符串长度不超过100。输出描述:可能有多组测试数据,对于每组数据,对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。import java.util.Scanner;public cl...原创 2019-07-07 20:54:34 · 1126 阅读 · 0 评论 -
十进制与十六进制的相互转换
十进制转换为十六进制import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String string = scanner.nextLine();//输入...原创 2019-07-15 21:50:32 · 937 阅读 · 0 评论 -
数组中的逆序对
题目:有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一个高效的算法,计算给定数组总的逆序对个数。给定一个int数组A和它的大小n,请返回A中的逆序对个数。保证n小于等于5000.测试样例:【1,2,3,4,5,6,7,0】8返回:7解题思路:思路一:暴力破解法顺序扫描整个数组,每扫描到一个数字的时候,逐个比较...原创 2019-07-20 22:24:43 · 174 阅读 · 0 评论 -
不要二
原文:https://blog.csdn.net/qq_39032310/article/details/93523087二货小易有一个W*H的网格盒子,网格的行编号为0-H-1,网格的列编号为0-W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y...转载 2019-07-28 19:04:31 · 162 阅读 · 0 评论 -
瞌睡
题目描述小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度,并以分数量化,以及他在这堂课上每分钟是否会睡着,你可以叫醒他一次,这会使得他在接下来的k分钟内保持清醒。你需要选择一种方案最大化小易这堂课听到的知识点分值。输入描述:第一行 n, k (1 <= n, k ...原创 2019-08-10 22:31:33 · 253 阅读 · 0 评论 -
顺时针打印矩阵
题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解题思路:通过逐渐缩小矩阵的边界来遍历矩阵达到顺时针打印矩阵的效果。给出四个变量:up,down,lef...原创 2019-09-15 11:40:54 · 155 阅读 · 0 评论 -
子域名访问计数
题目描述:一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名 "com"。给定一原创 2019-01-22 15:24:53 · 313 阅读 · 0 评论 -
Nim游戏
题目描述: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛 因为无论你拿走 1 块、2 块 还...原创 2019-01-03 19:04:13 · 2180 阅读 · 0 评论 -
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]在刚看到这道题时,我首先想到的就是暴力破解法,即把整个数组遍历一遍,找出两个数之和为target的数,将其放在数组中,返回就可以了。但是除了暴力破解法,我们还可以用哈希表来完成这道题目。解法一:暴力破解法cl...原创 2018-11-04 11:51:33 · 4113 阅读 · 0 评论 -
请判断一个链表是否为回文链表。
请判断一个链表是否为回文链表。示例1:输入:1->2输出:false示例2:输入:1->2->2->1输出:true进阶:你能否用O(n)时间复杂度和O(1)时间复杂度解决此题?我刚开始做的时候,首先想到的方法就是遍历到链表的最后一个节点,将最后一个节点与第一个节点比较,接着将最后一个节点置空,方便下一次比较的时候找到这次置空的节...原创 2018-11-12 23:07:18 · 5838 阅读 · 0 评论 -
环形链表求入口点
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。看到这道题,我们首先应该想到的是判断这个链表是否有环,如果有环,找到入口点,否则返回true。怎么判断链表是否有环呢?指定一个快指针和慢指针,快指针一次走两步,慢指针一次走一步。如果没有环,快指针一定会遇到null;如果有环,在经过一段时间后,快指针一定会和慢指针...原创 2018-11-20 18:01:56 · 7412 阅读 · 4 评论 -
报数问题
有10个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位。 看到这道题我首先想到的是用约瑟夫环来解决这道题,但是实在是很复杂,其实,是有简单的方法的,我们先来看一下:可以看出,最后剩下的是3,就是开始位于第四个位置上的人。 这道题其实是不需要数据结构的,十个人可以写成长度为10的整形数组,首先给每个人编号,每...原创 2018-11-18 10:49:30 · 1996 阅读 · 0 评论 -
k个一组翻转链表
题目描述:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3...原创 2018-11-25 23:15:09 · 1124 阅读 · 0 评论 -
删除链表的倒数第N个节点
题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?解题思路:之前写环形链表求入口点这道题...原创 2018-12-01 14:13:52 · 134 阅读 · 0 评论 -
复制带随机指针的链表
题目描述:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。 在看着道题之前,我们要有一个概念:什么是带随机指针的链表?其实就是比普通的链表多了一个random(随机指向一个节点)指针而已。如图:黑色的线条代表 next,红色的线条代表random。注意:random是随机指向的,可以是任一节点,空...原创 2018-12-01 16:11:32 · 140 阅读 · 0 评论 -
奇偶链表
题目描述:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例:输入: 2->1->3->5->6->4->7->NULL 输...原创 2018-12-12 09:43:47 · 155 阅读 · 0 评论 -
整数中1出现的次数(从1到n整数中1出现的次数)
题目描述:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路分析:类似于这样的题目,我们可以采用归纳法来解决问...原创 2019-10-09 12:35:09 · 473 阅读 · 0 评论