- 博客(104)
- 问答 (5)
- 收藏
- 关注
原创 2020本科校招-从小白到拿到30k offer的学习经历
内容同步更新到github:https://github.com/mio4/interview前言本文是个人2019年年度总结。先介绍下博主背景:计算机本科大四,刚进大三还是没有实习、没有项目经历的小白,经过一年时间的刻意练习[deliberate practice],最后在校招中拿到了大厂offer,标题中30k的offer已经拒掉了,有了更好的去处,只是用来举例。0x0 前期调研以下经验根据个人的经验来谈,有一定的局限性,仅供参考。1. 为什么不选择算法计算机专业的就业方向很多,对
2020-05-31 16:30:44 1379 1
原创 LeetCode 494. Target Sum
#pragma once#include <vector>#include <string>using namespace std;class Solution {private: int res = 0;public: int findTargetSumWays(vector<int>& nums, int S) { recurs
2019-03-07 23:17:24 226
原创 LeetCode 121. Best Time to Buy and Sell Stock
买卖股票的最佳时间只能进行一次买入卖出操作,所以要找到整个区间内的最大差值暴力搜索时间复杂度是O(n^2),使用一个标记值来判定是否满足条件,时间复杂度可以优化到O(n)package DP.No121;class Solution { public int maxProfit(int[] prices) { int maxPro = 0; int...
2019-02-09 17:54:26 267
原创 LeetCode 122. Best Time to Buy and Sell Stock II
可以进行多次买卖,要保证每一次都获得了小范围内的最大利润。找到所有的连续上升区间,在区间内进行最低价购入,最高价抛售的transaction即可。package DP.No122;class Solution { public static int maxProfit(int[] prices) { int maxPro = 0; if(price...
2019-02-09 17:35:38 374
原创 LeetCode 78. Subsets
如何实现ArrayList的拷贝:使用ArrayList.addAll()方法将一个list的内容全部复制过来使用不断扩充的方式从[]空数组生成新的数组(1)首先会生成[1],此时加上原来的有[]和[1](2)然后会生成[2],[1,2],此时加上原来的有[]和[1],[2],[1,2](3)然后会生成[3],[1,3],[2,3],[1,2,3],此时加上原来的有[]和[1],[2],...
2019-01-13 22:03:41 175
原创 LeetCode 344. Reverse String
class Solution { public String reverseString(String s) { StringBuffer sb = new StringBuffer(); for(int i=s.length()-1; i >= 0; i--) sb.append(s.charAt(i)); ...
2019-01-13 21:40:46 150
原创 LeetCode 611. Valid Triangle Number
如果任意两边之和大于第三边,那么是个合法的三角形所以联想到判断合法IP地址那道题,既然是固定选择3个数,那么可以Brute Force排序之后将所有的情况判定出来package array.No611;import java.util.Arrays;class Solution { public static int triangleNumber(int[] nums) {...
2019-01-13 21:01:34 186
原创 LeetCode 88. Merge Sorted Array
这道题的解法比较巧妙最开始的想法是从前往后开始合并数组,不过发现这样需要不断往后移动数组,时间开销比较大标准题解是从两个数组的最后一个元素开始比较,将大的放在第一个数组后面空闲的位置[为什么?因为合并之后的数组的大小是确定的,并且两个数组已经是排序好的]。边界条件:在第一个数组中所有元素都放到正确位置之后,第二个数组还有元素没有放置到第一个数组从末尾开始合并的思路很巧妙,这个和Longe...
2019-01-13 17:32:30 210
原创 LeetCode 236. Lowest Common Ancestor of a Binary Tree
这道题和上一道求解最低公共祖先的不同在于是一般的二叉树,只能遍历节点来获取信息通过返回节点是否为空判定子树中是否有pq节点三种情况p和q分别在两颗子树中:那么当前节点就是最低公共祖先p和q都在左子树:将问题转换为在当前节点的左子树找p和q的最低公共祖先p和q都在右子树:将问题转换为在当前节点的右子树找p和q的最低公共祖先package tree.No236;class ...
2019-01-12 19:38:04 224
原创 LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
因为是二叉搜索树,所以可以根据值的大小判定是属于根节点的左子树还是右子树。如果都是在左子树部分,那么最低公共祖先一定属于当前节点的左子树;如果都是在右子树部分,那么最低公共祖先一定属于当前节点的右子树;否则当前节点一定是最低公共祖先(为什么?)因为这种情况下无论假设最低公共祖先是属于左子树还是右子树,最低公共祖先一定不是属于另外一棵树的节点的祖先,假设证伪。package tree.N...
2019-01-12 19:13:37 170
原创 LeetCode 905. Sort Array By Parity
class Solution { public int[] sortArrayByParity(int[] A) { int[] res = new int[A.length]; int index = 0; for(int i=0; i < A.length; i++){ if(A[i]%2 == 0) ...
2019-01-12 18:47:43 172
原创 LeetCode 160. Intersection of Two Linked Lists
最开始想到的O(n^2)只管解法:只需要固定一条链表,移动另一个指针,判定指针是否属于固定链表的后继节点即可package linkedlist.No160;class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; ...
2019-01-12 18:21:14 320
原创 LeetCode 199. Binary Tree Right Side View
求解二叉树的右视图其实就是每一层最右边的节点,那么如果能够得到每一层所有节点的有序集合,就很容易得到结果那么首先联想到了做过的二叉树按层次遍历,得到层次遍历集合之后,取每一层的最后一个元素package tree.No199;import java.util.ArrayList;import java.util.List;class TreeNode { i...
2019-01-12 11:01:18 190
原创 2017校招-网易 饥饿的小易
饥饿的小易挺有意思的一道数学题,最开始从4x+3和8x+7和1,000,000,007入手观察了半天,最后发现和1,000,000,007没有半点关系,只需要针对4x+3和8x+7的两条路径选择合并成同一条即可对于4x+3和8x+7,都是从2x+1调用自身2遍、3遍来的,所以将问题转换成x0变成2x0+1之后是否满足条件即可注意每次要取模更新x0,否则溢出是早晚的事情import ja...
2019-01-03 17:20:44 247
原创 2017校招-网易 统计回文
解救小易import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int[][] traps = new int...
2019-01-03 16:43:54 169
原创 2017校招-网易 统计回文
统计回文需要注意的是插入位置i的取值范围要包含lenA(即插入到A字符串最后面的情况)import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String A = in...
2019-01-03 16:26:50 195
原创 2017校招-网易 小易喜欢的单词
小易喜欢的单词匹配字符串先没有想到好的方法,不过s长度被限制在100以内,那么嵌套for循环(Brute Force)虽然丑陋,应该也能过OJpackage Interview2017.wangyi.No5;/** * https://www.nowcoder.com/practice/ca7b8af83e2f4ec1af2f23d6733223b5?tpId=85&tqId=...
2019-01-03 15:18:39 238
原创 2017校招-网易 Fibonacci数列
Fibonacci数列难度:easypackage Interview2017.wangyi.No3;import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int ...
2019-01-03 12:27:55 207
原创 2017校招-网易有道 构造队列
题目:https://www.nowcoder.com/practice/657d09e2b3704574814089ba8566d98d?tpId=85&amp;tqId=29849&amp;tPage=1&amp;rp=1&amp;ru=/ta/2017test&amp;qru=/ta/2017test/question-ranking这个题目和LeetCode上的某道题比较类似,不过记...
2019-01-03 11:28:03 226
原创 MyBatis Excepton : PersistenceException
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error may exist in com/mio4/mapper/StudentMapper.xml### The error occurred while ...
2018-11-27 09:57:10 461
原创 Spring(2):注解
(一) IoC-注解入门使用注解来替代配置文件,能在一定程度上简化代码使用步骤:1.开启注解扫描 2.对类做标记1. 配置文件配置applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"...
2018-11-13 22:33:11 174
原创 Spring(1):入门
文章目录(一)Head First(1)什么是Spring(2)IoC(3)工程步骤(4)applicationContext.xml(1)bean标签(5)依赖注入(1)属性注入(2)集合注入(3)Util.properties注入关于业务层的Spring,IoC、DI、AOP的核心概念需要掌握(一)Head First(1)什么是SpringSpring是一个轻量级开源框架优点...
2018-10-29 21:07:02 160
原创 Hibernate(3):事务&查询
文章目录(一)事务(1)悲观锁(2)乐观锁(3)绑定当前线程的session(二)查询(1)HQL(2)Criteria(三)1099占用解决方案既然Hibernate要和数据库交互,那么事务是必须要掌握的部分(一)事务为什么要锁:在并发访问的时候,不使用锁会导致部分数据并不能保存到数据库(1)悲观锁悲观锁:数据库提供被一个事务操作的一条数据会被加锁,操作完成之后释放锁缺...
2018-10-25 18:19:13 413
原创 Hibernate(2):持久化
文章目录(一)持久化(1)持久化类(2)主键(3)MySQL方言(4)主键生成策略(5)持久化对象状态(6)持久化对象状态转换☆(1)持久态(二)缓存(1)Session一级缓存(2)SessionFactory二级缓存(一)持久化(1)持久化类持久化类:JavaBean+对应映射的配置文件(xxx.hbm.xml)规范提供一个无参的构造方法属性提供get和set方法基本数据类型...
2018-10-24 21:52:19 134
原创 Hibernate(1):入门
layout: posttitle: “Hibernate(1):”categories: JavaWebtags: Hibernateauthor: mio4content{:toc}文章目录layout: posttitle: "Hibernate(1):"categories: JavaWebtags: Hibernateauthor: mio4(一)Hi...
2018-10-23 19:48:57 160
原创 SAXParseException 元素内容必须由格式正确的字符数据或标记组成 : 解决办法
报错信息:19-Oct-2018 11:52:33.598 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.digester.Digester.fatalError Parse Fatal Error at line 49 column 6: 元素内容必须由格式正确的字符数据或标记组成。 org.xml.sax.SAX...
2018-10-19 11:57:37 3738
原创 JavaWeb基础(12):代理☆
文章目录(一)(1)静态代理(1)Demo(2)动态代理(1)Demo(一)(1)静态代理在编译时已经将接口、被代理类、代理类确定下来的代理方式代理类持有被代理类的实例代理类和被代理类implements相同接口代理的好处可以对原类的方法进行加强(1)Demo接口:package Proxy;/** * Person接口 */public inte...
2018-10-16 20:12:18 157
原创 JavaWeb基础(11):注解
文章目录(一)注解(1)注解(2)元注解(3)使用注解(一)注解(1)注解注解(Annotation)作用编译检查替代配置文件(比如web.xml)定义注解Java预留的注解@Override 申明方法是继承自父类(编译时会检查)@SuppressWarnings(“参数”) 抑制警告 参数比如:unused@Deprecated 声明方法过时,不赞成使用自...
2018-10-16 20:11:19 148
原创 JavaWeb基础(10):listener&filter
文章目录(一)listener(1)监听对象(2)监听属性(3)监听JavaBean(二)filter(1)生命周期(2)FilterChain(3)url-pattern配置(4)应用JavaWeb三大组件:Servlet 、Filter、 Listener(一)listener(1)监听对象Listener(监听器):一个接口作用:监听对象比如:ServletContext...
2018-10-16 20:10:52 146
原创 前端基础(7):AJAX
文章目录(一)AJAX(1)简介(2)使用步骤(3)AJAX-API(4)jQuery下的AJAX(二)AJAX检查用户名占用(三)模拟搜索引擎(一)AJAX(1)简介AJAX(Asynchronous Javascript And XML)异步Javascript和XML功能:在不更新页面的情况下,对网页的局部信息进行更新比如:在注册用户时,遇到刚输入完成用户名,就提醒这个用户名...
2018-10-14 23:54:32 177
原创 JavaWeb基础(9):MVC&事务
文章目录(一)MVC(1)MVC(2)Javabean+JSP(3)JavaEE三层架构(二)事务(1)数据库事务(2)Java事务(3)事务(一)MVC(1)MVCMVC模型Module 主要是封装数据,封装对数据的访问(User、DAO)View 主要作用是展示数据(JSP)Control 接受请求找到对应的JavaBean处理业务逻辑(Servlet)(2)Javab...
2018-10-14 23:52:31 196
原创 【LeetCode题解】89. Gray Code (Java)
文章目录(一)89. Gray Code(一)89. Gray CodeThe gray code is a binary numeral system where two successive values differ in only one bit.Given a non-negative integer n representing the total number of bits ...
2018-10-12 23:23:09 407
原创 【LeetCode题解】72. Edit Distance (Java)
文章目录(一)72. Edit Distance(一)72. Edit DistanceGiven two words word1 and word2, find the minimum number of operations required to convert word1 to word2.You have the following 3 operations permitted o...
2018-10-12 22:20:42 293
原创 【LeetCode题解】64. Minimum Path Sum(Java)
文章目录(一) Minimum Path Sum(一) Minimum Path SumGiven a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note...
2018-10-12 21:27:55 300
原创 【LeetCode题解】 70. Climbing Stairs(Java)
文章目录(一)70. Climbing Stairs(一)70. Climbing StairsYou are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you cl...
2018-10-11 01:23:57 241
原创 JavaWeb开发:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
报错信息: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309) at org.apache.catalina.loader.WebappCl...
2018-10-11 00:50:59 462
原创 JavaWeb基础(8):JavaBean
文章目录(一)JavaBean(1)JavaBean规范(2)JSP中获取JavaBean属性(一)JavaBean(1)JavaBean规范JavaBean需要遵守的修饰为public class提供私有的字段private String xxx属性(bean属性)提供对于私有字段的公有方法方法getXXX和setXXX提供一个无参的构造器一般会implements Se...
2018-10-04 10:07:12 229
原创 JavaWeb基础(6):Cookie & Session
文章目录(一)会话(1)数据存储(二)Cookie(1)定义(2)用法(3)历史记录(三)Session(1)生命周期(2)购物车功能本次练习的记录历史记录/购物车代码:https://github.com/mio4/Learn-Java/tree/master/Head First Java Web/BasicDemo7(一)会话(1)数据存储HTTP协议是一种无状态协议用户在...
2018-10-02 17:05:01 167
原创 JavaWeb基础(5):Request&Response
layout: posttitle: “JavaWeb基础(5):Request&Response”categories: JavaWebtags: JavaWebauthor: mio4content{:toc}文章目录layout: posttitle: "JavaWeb基础(5):Request&Response"categories: Java...
2018-10-01 23:17:52 256
原创 JavaWeb基础(4):实现简单的注册登录模块
文章目录(一)项目框架(1)技术分析(1)项目结构(二)具体实现(1)前端(2)后端(0)表示图(1)Servlet(2)UserService(3)UserDao(4)MySQL(三)效果(1)主页(2)登录界面(3)注册界面(4)不足之处(一)项目框架练习Servlet使用时,实现一个简单的用户注册登录模块(不考虑SQL注入等问题)源码地址:https://github.com/mio...
2018-10-01 23:04:09 8463 6
空空如也
Servlet Demo先是报错500,然后一直404如何解决
2018-08-28
C语言实现栈初始化出错
2018-07-16
Windows下如何进入不同版本的MySQL?
2018-04-14
Python中import Theano失败
2018-03-07
Java hashmap 不能判断重复键值的问题
2017-08-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人