首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
小猪z佩奇
获赞
73
粉丝
27
关注
1
看过 TA
35
男
南京大学
2021
Java
IP属地:安徽
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑小猪z佩奇吗?
发布(25)
评论
刷题
收藏
小猪z佩奇
关注TA,不错过内容更新
关注
2020-05-11 18:06
已编辑
南京大学 Java
最小交换次数
任意两个元素可交换 问题描述: 给出一个具有N个不同值的数组A[],找出将数组排序所需的最小交换次数。 解法一:交换法 遍历数组[1 5 4 3 2], 1在正确的位置上,跳过; 5不在正确的位置上,将其与2交换。2交换到了排序后的正确位置,停止; 4不在正确的位置上,将其与3交换。3交换到了排序后的正确位置,停止; 算法结束,共交换两次。 复制代码 def solution(list): # 将元素从小到大排序好 sorted_list = sorted(list) number = 0 for i in range(len(list) - 1): #将数组及排序数组进行交换 记录次数 if...
0
点赞
评论
收藏
分享
2020-05-11 18:06
已编辑
南京大学 Java
***模式详解(静态***,动态***,cglib)
静态*** ***类的对象并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务 ***模式的UML图 ***类与具体类需集成自同一接口 perfomance与testsql为组合关系 引入问题:业务代码与监测代码的强耦合 long begin = System.currentTimeMillis(); query(); long end = System.currentTimeMillis(); long step = end - begin; System.out.println("执行花费 :" + step); 复制代码 ***模式...
0
点赞
评论
收藏
分享
2020-05-11 18:06
已编辑
南京大学 Java
菜鸡java面经---持续更新
网易有道一面 自我介绍 介绍一下hashmap 为什么hashmap线程不安全 介绍一下ConcurrentHashMap 介绍一下sychronize 介绍一下虚拟机内存模型 栈帧里面的东西 垃圾回收算法 数据库innodb,myisam区别,innodb使用的索引,说一下联合索引 慢查询的优化思路 tcp的四次挥手,为什么第二次握手服务器处于wait-close 说一下spring AOP 的动态*** 了解过dobble,springcloud吗? 项目业务相关,生成订单的回溯机制。消息中间件的使用 linux中你了解的操作指令有哪些 docker怎么实现环境隔离(好像是这样,记不清)...
0
点赞
评论
收藏
分享
2020-05-11 18:06
已编辑
南京大学 Java
回溯法
题型模板 result = [] def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 复制代码 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 复制代码 List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> permute(int[] nums) { LinkedList<...
0
点赞
评论
收藏
分享
2020-05-11 18:06
已编辑
南京大学 Java
ConcurrentHashMap1.8详解
类注释 新增转移节点,为了保证扩容时的线程安全 多个线程同时进行 put、remove 等操作时并不会阻塞,可以同时进行,和 HashTable 不同,HashTable 在操作时,会锁住整个 Map 操作均为线程安全的,无需再次加锁 结构 红黑树结构略有不同,HashMap 的红黑树中的节点叫做 TreeNode,TreeNode 不仅仅有属性,还维护着红黑树的结构,比如说查找,新增等等;ConcurrentHashMap 中红黑树被拆分成两块,TreeNode 仅仅维护的属性和查找功能,新增了 TreeBin,来维护红黑树结构,并负责根节点的加锁和解锁; 新增 Forwardin...
0
点赞
评论
收藏
分享
2020-05-11 18:06
已编辑
南京大学 Java
TCP三次握手,四次挥手
三次握手 需要描述的详细一点才是加分项 复制代码 刚开始客户端处于closed状态,服务端处于listen状态 第一次握手:客户端发送SYN报文,初始序列号seq(c)。客户端处于SYN_send状态 第二次握手:服务器收到SYN报文,以自己的SYN报文应答,初始序列号seq(s),ACK=seq(c)+1。服务器处于SYN_REVD状态 第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK = seq(s)+1报文,客户端处于established状态 服务器收到 ACK 报文之后,也处于 establised 状态,此时,双方以建立起了链接 三次握手的作用? 确认双方...
0
点赞
评论
收藏
分享
2020-05-11 18:06
已编辑
南京大学 Java
TCP流量控制与滑动窗口
流量控制 为什么需要流量控制? 双方在通信的时候,发送方的速率与接收方的速率是不一定相等,如果发送方的发送速率太快,会导致接收方处理不过来,这时候接收方只能把处理不过来的数据存在缓存区里 如果缓存区满了发送方还在疯狂着发送数据,接收方只能把收到的数据包丢掉,大量的丢包会极大着浪费网络资源,因此,我们需要控制发送方的发送速率,让接收方与发送方处于一种动态平衡才好 ** 对发送方发送速率的控制,我们称之为流量控制。 ** 如何控制? 接收方每次收到数据包,可以在发送确定报文的时候,同时告诉发送方自己的缓存区还剩余多少是空闲的,我们也把缓存区的剩余大小称之为接收窗口大小,用变量win来表示接收...
0
点赞
评论
收藏
分享
2020-05-11 18:07
已编辑
南京大学 Java
进程间的通信方式
管道 什么是管道呢? 先看一条linux命令: netstat -tulnp | grep 8080 复制代码 其中”|“是管道的意思,它的作用就是把前一条命令的输出作为后一条命令的输入。在这里就是把 netstat -tulnp 的输出结果作为 grep 8080 这条命令的输入。 如果两个进程要进行通信的话,就可以用这种管道来进行通信了,并且我们可以知道这条竖线是没有名字的,所以我们把这种通信方式称之为匿名管道。 管道的通知机制类似于缓存,就像一个进程把数据放在某个缓存区域,然后等着另外一个进程去拿,并且是管道是单向传输的 优点:实现简单,linux经常使用 缺点:通信效率低下...
0
点赞
评论
收藏
分享
2020-05-11 18:07
已编辑
南京大学 Java
动态规划
小偷问题 * 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金, * 影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统, * 如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下, 能够偷窃到的最高金额。 示例 1: 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。 复制代码 动态规划一般都是考虑三步走 1.确定dp数组,明确dp[i]所表示的含义 2.初...
0
点赞
评论
收藏
分享
2020-05-11 18:07
已编辑
南京大学 Java
算法笔记---回溯
floodfill /** * 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。 * 一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。 * 你可以假设网格的四个边均被水包围。 */复制代码 所谓floodfill,类似于感染,滴一滴红墨水,染红周围 可以看作是一个dfs 思路:找到“1”,然后dfs所有与该位相连的,完整一个dfs后,res++随之遍历整个数组复制代码 public class NumberOfIslands { // 四个方向遍历数组 int[][] d = {{1,0},{-1,0},{0,1},{0,-1}...
0
点赞
评论
收藏
分享
1
2
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务