面试题
守望_shouwang
1
展开
-
网易2019笔试题 迷路的牛牛
迷路的牛牛题目描述牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。接下来的一行包含一个长度为N...原创 2019-08-11 15:54:55 · 201 阅读 · 0 评论 -
随机数问题
随机数问题一、random(5)生成random(7)import java.util.Random;public class Main { int random7(){ int temp; Random random...原创 2019-05-08 18:47:36 · 211 阅读 · 0 评论 -
三七互娱2019秋招Java后端开发工程师
三七互娱2019秋招Java后端开发工程师三、简答题2.给定一个整数的数组,要求将数组中的所有为0的元素移动到数组的最后,其他的元素保持原来的顺序。示例数组{ 1, 5, 0, 0 ,2,19,0}移动后{ 1, 5, 2,19,0,0,0}package com.test;p...原创 2019-02-01 11:12:53 · 1198 阅读 · 1 评论 -
数组修改
数组修改输入一个整数n,输入有n个整型的数,输入一个数x,将数组中带有x的数去除,然后将剩余数右移,左侧补1思路:开辟两个数组,倒着判断a数组中不等于x的数将其放入到b数组,都检索完a数组之后,b数组左侧全置为1代码package Test1;import java.util.Scanner;public class Main { public static void main(String[...原创 2018-05-14 09:36:55 · 620 阅读 · 0 评论 -
链表
链表下列关于链表的特点:1.不必预先分配较多存储空间2.插入删除不需要移动元素3.所需空间与线性表长度成正比原创 2018-01-13 10:33:38 · 2330 阅读 · 0 评论 -
集合
题意描述:给俩个集合,这俩个集合里面可能有相同的元素,合并到一个集合的时候把重复的数字去掉,并排序按从小到大的顺序,注意每个元素之间有空格。思路:俩个集合合并的时候注意把b数组合并到c数组的时候,这时候c数组已经有了n-1个元素,b数组复制进来c数组是从下标为n开始复制,需要借用一个中间变量h,h为0,即从b[0]开始复制,之后h++实现b数组的全部复制。我感觉应该先排序之后再去重会简单一...原创 2017-08-22 20:55:25 · 194 阅读 · 0 评论 -
类加载
类加载顺序静态变量->静态代码块->构造代码块->构造函数->普通代码块前四个是在类初始化执行(new),最后一个是调用执行(a.method())...原创 2019-12-09 22:09:15 · 102 阅读 · 0 评论 -
继承和组合
继承和组合原则:多用组合,少用继承原因:1.避免方法的误用,假如定义animal类fei方法,pa方法,dog类继承animal,但dog并不会飞 2.继承父子类高耦合,组合低耦合组合:class Draw { public void...原创 2019-12-09 20:39:41 · 129 阅读 · 0 评论 -
荷兰国旗问题
荷兰国旗问题/** * 荷兰国旗问题 * 给一个数组,小于num的放在数组左边,等于放在中间,大于放在右边 */public class HeLanFlag { public static int[] partation(int[] a, int L...原创 2019-05-15 09:36:51 · 213 阅读 · 0 评论 -
快速排序
快速排序/** * 快速排序 * 什么是快速排序? * 基于荷兰国旗问题做递归 */public class QuickSort { public static void quickSort(int[] a) { if (a ==...原创 2019-05-15 10:18:29 · 100 阅读 · 0 评论 -
堆排序
堆排序/** * 堆排序 * 什么是堆排序?首先知道数组转化完全二叉树的左子树为a[2*i+1],子节点的父节点是(i-1)/2, * 将数组建成大顶堆,将堆顶元素与最后一个元素换掉,最后一个元素到了堆顶,调整堆为大顶堆,依次过程,直到堆大小为0 */pub...原创 2019-05-15 16:21:46 · 119 阅读 · 0 评论 -
二维数组中的查找
二维数组中的查找给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中。 [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], ...原创 2019-05-15 19:18:22 · 127 阅读 · 0 评论 -
二叉树的先中后序遍历
二叉树的先中后序遍历package com.TreeNode;/** * 二叉树先中后顺序递归遍历 */public class DiGuiBianLi { public static class Node { publ...原创 2019-06-21 21:50:01 · 165 阅读 · 0 评论 -
判断两个字符串有多少相同的字符
判断两个字符串有多少相同的字符参考博客:https://blog.csdn.net/weixin_42586373/article/details/88627417很详细,也很好,其中正则表达式那个非常好,一行代码解决问题...原创 2019-08-06 15:17:28 · 4305 阅读 · 0 评论 -
归并排序
归并排序/** * 归并排序 * 什么是归并排序? 一个数组分成左右两个子数组,左右两个子数组是有序的,然后申请一个额外的数组合并这两个子数组, * 额外的数组copy到原数组中,整个流程是这样滴,基于递归实现 */public class MergeSort...原创 2019-05-14 20:06:31 · 84 阅读 · 0 评论 -
java构建一个链表
java构建一个链表package com.test;import com.util.ListNode;public class Main { public ListNode reverList(ListNode node) { ListNode...原创 2019-05-07 11:27:11 · 874 阅读 · 0 评论 -
数据结构面试题
数据结构面试题1.数据结构与算法常见笔试题 第一章 数据结构与算法一.算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。3.算法设计的基本方法:列举法、归纳法、递推、递归原创 2018-01-22 10:21:28 · 3834 阅读 · 0 评论 -
计算机网络面试题
计算机网络面试题OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。 每一层的协议如下:物理层:RJ45、CLOCK、IEEE原创 2018-01-15 10:33:12 · 424 阅读 · 0 评论 -
打印两个有序链表的公共部分
打印两个有序链表的公共部分打印两个有序链表的公共部分,链表是有序的思路:node1和node2都不为空的前提下,如果node1<node2的值,node1往后移动,如果node1>node2的值,node2往后移动,如果node1==node2的值输出并且都往后移动pa...原创 2018-11-10 17:29:48 · 132 阅读 · 0 评论 -
链表是否成环
链表是否成环判断链表是否成环快慢指针,快指针每次移动两次,满指针每次移动一次,如果链表有环,快指针一定可以追上满指针,对比生活中的跑步问题,一个操场,跑的快的人一定可以追上跑的慢的人 package com.test;pub...原创 2018-11-11 16:23:11 · 264 阅读 · 0 评论 -
判断链表是否是回文结构
判断链表是否是回文结构一个数字如果是123321这样子的就是回文数字,一个回文链表的结构是1->2->3->3->2->1这样子,怎么判断这个链表是否是这样的结构,可以借助栈,把一个链表的元素依次放入栈中,如...原创 2018-11-18 19:35:32 · 184 阅读 · 0 评论 -
爬楼梯
爬楼梯题目描述:有 N 阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。思路:每次可以上一阶或者两阶台阶,当台阶是1的时候,一共有1种方法,当台阶为2时,一共有两种方法。当台阶为i时,定义台阶为i的方法数是dp[i],此时上台阶是i...原创 2019-01-26 22:38:56 · 166 阅读 · 0 评论 -
设计模式
一、容器中的设计模式迭代器模式Collection 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中的元素。从 JDK 1.5 之后可以使用 foreach 方法来遍历实现了 Iterable 接口的聚合对象。List<String>list=n...原创 2019-03-10 12:06:15 · 143 阅读 · 0 评论 -
死锁
死锁一、死锁:进程A和进程B相互占有对方的资源二、产生死锁的四个条件:1、互斥互斥就是进程在某个时间内独占资源2、不可抢占进程已获得资源,在末使用完之前,不能强行剥夺3、占有并等待一个进程因请求资源而阻塞时,对已获...原创 2019-04-26 08:06:20 · 109 阅读 · 0 评论 -
用栈实现队列
用栈实现队列package com.test;import java.util.Stack;public class Main { //用栈实现队列 private static Stack<Integer> in = ...原创 2019-04-19 16:18:09 · 104 阅读 · 0 评论 -
冒泡排序
/** * 冒泡排序 * 每一趟选出排在最后的元素 */public class MaoPaoSort { public static void MaoPaoSort(int[] a) { if (a==null||a.length<2){ return; } for (int end = a.len...原创 2019-05-13 21:14:34 · 88 阅读 · 0 评论 -
选择排序
选择排序/** * 选择排序 * 什么是选择排序?选数组最小的元素和数组的第一个位置交换,选剩下最小的数和数组的第二个位置交换,以此类推直到有序 */public class SelectionSort { public static voi...原创 2019-05-13 21:32:03 · 83 阅读 · 0 评论 -
插入排序
插入排序/** * 插入排序 * 什么是插入排序? 左边是有序的,取右边的每一个数和左边的数从右往左依次比较,最终达到有序 */public class InsertSort { public static void InsertSort(int[] a) {...原创 2019-05-14 15:37:07 · 81 阅读 · 0 评论 -
递归求数组最大值
递归求数组最大值/** * 使用递归当方式求数组中最大的值 */public class DiGuiGetMax { public static int getMax(int[] a,int L,int R) { if (L==R){ ...原创 2019-05-14 15:39:53 · 1073 阅读 · 0 评论 -
get和post的区别
get和post的区别一、区别1.效率GET的意思是『得』,从服务器获取数据(也可以上传数据,参数就是),效率较高POST的意思是『给』,但可以向服务器发送数据和下载数据,效率不如GET2.缓存GET 请求能够被缓存,默认的请求方式也是有缓存的POST请求默认不会缓存缓存是针对URL来进行缓存的,GET请求由于其参数是直接加在URL上-的转载 2017-12-28 12:29:11 · 225 阅读 · 0 评论