笔试编程
wickedvalley
好记性不如烂笔头
展开
-
蛇形打印数组(某宝典公司面试手撕代码题)
背景杂谈不知道为什么,可能脑袋一下放空了,一不小心就想到了大约2年前,在某个知名的宝典公司面试中,遇到了一道手撕代码题,和多年前的google的那道螺旋遍历数据有异曲同工之妙。现脑洞大开,想写下与大家分享下,解题思路可能不是很正确,欢迎大家建议和指正。问题描述有一个数组如下所示,现在需要遍历下,顺序为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1...原创 2018-07-03 14:28:34 · 693 阅读 · 0 评论 -
序列化以及反序列化二叉树
有些问题需要把二叉树序列化,可用于传输或者保存等,当然,有些题目也需要你去序列化以及反序列化,你懂的!二叉树的定义如下:package com.hbut.bean;public class TreeNode { private TreeNode left; private TreeNode right; private int val; public TreeNode(int val...原创 2017-06-03 19:30:31 · 361 阅读 · 0 评论 -
Trapping Rain Water
题目如下:Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given [0,1,0,2,1,0,1,3,2,1,2,1],...原创 2017-07-08 14:27:41 · 175 阅读 · 0 评论 -
《leetcode》remove-duplicates-from-sorted-array-ii
题目描述Follow up for “Remove Duplicates”: What if duplicates are allowed at most twice? For example, Given sorted array A =[1,1,1,2,2,3], Your function should return length =5, and A is now[1,1,2,2,3]原创 2017-10-04 14:04:04 · 466 阅读 · 0 评论 -
《leetcode》valid-parentheses
题目描述Given a string containing just the characters’(‘,’)’,’{‘,’}’,’[‘and’]’, determine if the input string is valid. The brackets must close in the correct order,”()”and”()[]{}”are all valid but”(]”and原创 2017-10-03 10:42:53 · 380 阅读 · 0 评论 -
《leetcode》pascals-triangle(杨辉三角)
题目描述Given numRows, generate the first numRows of Pascal’s triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]解析:每一行的首尾都是1,就是构件的中间值需要原创 2017-09-02 16:45:49 · 322 阅读 · 0 评论 -
《网易编程题》买苹果
题目描述 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。输入描述: 输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述: 输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1示例1 输入20原创 2017-08-12 09:47:17 · 648 阅读 · 2 评论 -
《leetcode》search-insert-position
题目描述Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order. You may assume no duplicates in the array原创 2017-08-31 13:25:40 · 239 阅读 · 0 评论 -
《编程题》来自某游戏公司
1写一个算法判断某个字符串是不是一个合法的IP地址。 public static String chargeIp(String ip){ if(ip.contains(" ")){ return "NO"; } try { String []ips= ip.split("\\.");//注意:字符原创 2017-08-24 21:05:06 · 772 阅读 · 6 评论 -
《编程题》找出数组中出现次数超过一半的数(时间复杂度O(n),空间复杂度为O(1))
解析:该题目可以用mapreduce的wordcount思想做,就是存储键、值对,键存数字,值存该数字出现的次数,当然需要用一个变量记住出现次数超过一半的数了,说完了,开始撸起袖子干了。 public static int findAppearMoreThanHalf(int [] arr){ int num=0;//存储出现次数超过一半的数 Map<Integ原创 2017-08-31 12:58:53 · 1308 阅读 · 0 评论 -
《leetcode》spiral-matrix-ii(构造螺旋矩阵)
题目描述Given an integer n, generate a square matrix filled with elements from 1 to n 2 in spiral order. For example, Given n =3, You should return the following matrix: [ [ 1, 2, 3 ], [ 8, 9, 4 ],原创 2017-08-29 11:14:18 · 842 阅读 · 0 评论 -
《leetcode》best-time-to-buy-and-sell-stock-i-ii-iii
题目描述1Say you have an array for which the i th element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy原创 2017-08-24 10:41:42 · 278 阅读 · 0 评论 -
《leetcode》first-missing-positive
题目描述Given an unsorted integer array, find the first missing positive integer. For example, Given[1,2,0]return3, and[3,4,-1,1]return2. Your algorithm should run in O(n) time and uses constant space.原创 2017-08-23 16:56:23 · 261 阅读 · 0 评论 -
《去哪网编程题》身份证分组
题目描述 18位身份证的编码规则是: 前1、2位数字表示:所在省(直辖市、自治区)的代码 第3、4位数字表示:所在地级市(自治州)的代码 第5、6位数字表示:所在区(县、自治县、县级市)的代码; 第7—14位数字表示:出生年、月、日; 第15、16位数字表示:所在地的派出所的代码; 第17位数字表示性别:奇数表示男性,偶数表示女性; 第18位数字是校检码,用来检验身份证的正确性。原创 2017-08-15 12:39:16 · 1171 阅读 · 0 评论 -
《挖财编程题》求数列的和
题目描述 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。 输入描述: 输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述。 输出描述: 对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。示例1 输入 81 4 2 2输出 94.73 3.41解析:注意保留2位小数需要用到De原创 2017-08-22 09:41:43 · 470 阅读 · 0 评论 -
《挖财编程题》水花仙数
题目描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。 输入描述: 输入数据有多组,每组占一行,包括两个整数m和n(100 ≤ m ≤ n ≤ 999)。 输出描述: 对于每个测试实例,要求输出所有在给定范围内原创 2017-08-22 09:30:29 · 1413 阅读 · 0 评论 -
《去哪网编程题》统计字符
题目描述 给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符。输入描述: 输入数据一个字符串,包括字母,数字等。输出描述: 输出首先出现三次的那个英文字符示例1 输入Have you ever gone shopping and 输出e解析:假如你想用暴力搜索法做,估计可以的。此题还有优雅点的解法。思路:由于只是统计首次出现3次的字符,而由于每次字符的ascil码都原创 2017-08-14 23:10:10 · 835 阅读 · 0 评论 -
《美团网编程题》奇数位丢弃
题目描述对于一个由0..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。 输入描述: 每组数据一行一个数字,为题目中的n(n小于等于1000)。 输出描述: 一行输出最后剩下的数字。示例1 输入500 输出255解析:请不要误会,该问题并不是约瑟夫环的问题,因为需要重新开始原创 2017-08-06 10:19:47 · 636 阅读 · 0 评论 -
[编程题]表达式合法判断
链接:https://www.nowcoder.com/questionTerminal/227893ccf81d4e8589875922f0d9319e?pos=25&mutiTagIds=581&orderByHotValue=1来源:牛客网说明:原来的牛客网的测试用例是返回true,但是下面的测试用例应该返回false写一段代码,判断一个包括'{','[','(',')','...原创 2017-06-02 09:43:31 · 2754 阅读 · 0 评论 -
java实现全排列
public static void permutation(char[] str, int i) { if (i >= str.length) return; if (i == str.length - 1) { System.out.println(String.valueOf(str)); ...原创 2017-05-05 10:12:05 · 248 阅读 · 0 评论 -
螺旋数组的输出
import java.util.ArrayList;/** * @author wickedvalley *编程:螺旋数组的数据1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25 */public class PrintMatrix {public static void main(Stri...原创 2016-11-16 17:19:16 · 646 阅读 · 0 评论 -
java对.txt文件进行读取方法实战---室友是网络安全方向,帮他提取文件里的特定ip
需求:类似如下的txt文件,现在需要把每一小段包含open的ip地址输出,这样他就可以去攻击有用ip了,这孩子真坏,哈哈。Nmap scan report for 123.59.68.48Host is up (0.044s latency).PORT STATE SERVICE22/tcp open sshNmap scan report for 123.59.68.49Host is u...原创 2016-05-22 15:33:12 · 998 阅读 · 0 评论 -
这样的递归调用,你看出来了?
1.要求不用循环和本地变量。给正整数n,以2n, 4n, 8n的方式递增,当大于5000时,以特定方式输出。比如 n = 1234,输出结果为: 12342468493698729872493624681234代码演示:package com.hbut.test;public class ForTest {public static void main(String[] args) { ...原创 2016-06-05 16:34:35 · 568 阅读 · 0 评论 -
当不能用for等循环时,可以考虑递归
题目:用递归方法实现正序显示数组元素。(举例字符串,但不仅限于字符串)String [] s= {"a","b","c","d"};package com.hbut.test;public class TestReverse {/*** * * 6.用递归方法实现正序显示数组元素。String [] s= {"a","b","c","d"};* */原创 2016-06-05 17:36:17 · 770 阅读 · 0 评论 -
字符串处理编程题
编写函数insert(String str),将字符串"a,123;b,456;c,789"置入HashMap中;字母为键,数字为值; 如键a ,值123package com.hbut.test;import java.util.HashMap;import java.util.Map;import java.util.Set;public class CodeHashMap {/*** * ...原创 2016-06-05 18:13:27 · 1825 阅读 · 0 评论 -
数据结构中的各种排序---总结篇
转载:http://blog.csdn.net/wzyhb123456789/article/details/5974790一个月没有写文章,原因是一直在忙碌着,但是其实是有收获的,下面就是我这前半个月最大的收获:对于数据结构中排序算法的总结,在我找工作的道路上帮助了我好多。如有错误,欢迎指正! 一、基本概念:1、 排序:按照一定的关键字,将一个序列排列成想要得到的一个新的序列。2、 内部排...转载 2016-06-05 18:36:20 · 463 阅读 · 0 评论 -
打印倒三角形
编程题:下面是一个由*号组成的4行倒三角形图案。要求:1、输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”;2、在屏幕上打印这个指定了行数的倒三角形。******* 2n+1 (n=3)*********package com.hbut.test;import java.util.Scanner;import com.hbut.exeception.T...转载 2016-06-05 21:57:53 · 1552 阅读 · 0 评论 -
编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔
a.txthelloworldmyfriendjacktomb.txthouse home deskAlicepigcatwindpackage com.hbut.test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExcep...原创 2016-06-11 22:08:15 · 3970 阅读 · 1 评论 -
从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数
一些经验总结:1.对于读取文件,大家要熟记BufferedReader类,他可以一次读取一行,在很多的笔试题会遇到这样的例子,但是判断读取结束的标志并不是我们平时所见的-1,而是null。2.可以利用集合进行简化代码,比如list元素可以重复,但是set的元素不可以重复等package com.hbut.test;import java.io.BufferedReader;import java....原创 2016-06-12 12:48:18 · 4484 阅读 · 1 评论 -
编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad
package com.hbut.test;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Write...原创 2016-06-12 12:55:02 · 3173 阅读 · 0 评论 -
判断一个int数组中的元素是否存在重复
package com.hbut.test2;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;/** * 判断一个int数组中的元素是否存在重复,方法声明如下: * boolean isRepeat(int[] m){ } * */public class...原创 2016-06-13 22:10:57 · 2587 阅读 · 0 评论 -
[Java]将二叉树的左右子树交换 非递归实现
[java] view plain copypackage dataStruct; import java.util.Stack; /** * 将二叉树的左右子树交换 非递归实现 * @author YangYi */ public class SwapTree { private static Stack<Node> stack = new Stack&...转载 2016-06-17 17:52:33 · 3246 阅读 · 0 评论 -
二分查找法---java实现
package com.hbut.test2;public class BinaryFind {public static void main(String[] args) {int arr[]={1,2,3,4,5,6,7,8,9};int index=binaryFind(arr, 8);System.out.println("index:"+index);}/*** 二分查找法:* 根据ta...原创 2016-06-20 11:54:44 · 321 阅读 · 0 评论 -
实际编程题----CT扫描
样例输入:1699 99 99 99 99 9999 99 99 50 99 9999 99 49 49 50 5199 50 20 25 52 9940 50 99 99 99 9999 99 99 99 99 99样例输出:Case#1:9 8package com.hbut.util;import java.util.Scanner;public class TestArray {publi...原创 2016-09-17 19:39:17 · 958 阅读 · 0 评论 -
最大差值
时间限制:3秒空间限制:32768K本题知识点: 贪心 算法知识视频讲解题目描述有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。给定数组A及它的大小n,请返回最大差值。测试样例:[10,5],2返回:0已经通过的代码:import java.util.ArrayList;import java.util.List;public class LongestDis...原创 2016-09-18 11:40:46 · 341 阅读 · 0 评论 -
蚱蜢编程----leshi
java实现:输入控制可能没那么符合要求package com.hbut.util;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Mayi {public static void main(String[] args) {//输入Scanner in = new Sc...原创 2016-09-19 18:24:31 · 1088 阅读 · 0 评论 -
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符
题目描述对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:"qywyer23tdd",11返回:ypackage com.cn.yqjr;import java.util.ArrayList;import java.util.List;pu...原创 2016-09-23 10:43:44 · 11319 阅读 · 0 评论 -
1+2!+3!+...n!
package com.cn.hbut.test;/** * @author wickedvalley * description://1+2!+3!+...n! * date:2016/10/29 * */public class test1 {public static void main(String[] args) {int sum=totalSum(3);System.out.prin...原创 2016-10-29 18:33:02 · 755 阅读 · 0 评论 -
recorder-list
题目:Given a singly linked list L: L 0→L 1→…→L n-1→L n, reorder it to: L 0→L n →L 1→L n-1→L 2→L n-2→… You must do this in-place without altering the nodes’ values. For example, Given{1,2,3,4}, reorde原创 2017-07-28 15:07:14 · 335 阅读 · 0 评论 -
《leetcode》single-number-ii
题目描述Given an array of integers, every element appears three times except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without u原创 2017-08-20 14:15:59 · 293 阅读 · 0 评论