
Java,算法
brianhang
Java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
牛客网编程题-滑动窗口的最大值(java)
思路:遍历数组,窗口右移,每移一次,替换下最大值,并将最大值添加到结果链表中 代码: import java.util.ArrayList; public class Solution { public ArrayList maxInWindows(int [] num, int size) { ArrayList list = new ArrayLis原创 2017-08-02 09:43:36 · 543 阅读 · 0 评论 -
Spring boot + mvn 实现简单web记事本
功能需求: web应用中实现简易记事本,内容保存到本地文件 概要设计: 1.spring boot实现前后端消息传送 2.业务类中实现写入本地文件 实现: 1.spring boot搭建 mvn导入spring boot核心包 其中thymeleaf包的作用是查询并匹配项目中的响应路径 配置文件为application.properties f 这里prefix为temp...原创 2018-09-16 11:56:53 · 1051 阅读 · 0 评论 -
牛客网-树的子结构(java)
思路:递归法求解根节点是否值一致,不一致则求左右子树是否有子结构。分为两种情况讨论,1:初始根节点与要求节点的根节点一致,比较两棵树的左右子树。这种情况还需分两种情况,(1)即左右子树不一致,该情形下需要将初始根节点的左右子树匹配要求子树,递归初始根节点与要求节点的两种情形;(2)能够匹配到子结构,则输出true。2:初始根节点与要求节点值不一致,则直接递归调用初始根节点的左右子树与要求节点的匹配原创 2017-09-05 22:36:09 · 352 阅读 · 0 评论 -
牛客网编程-合并两个有序链表(java)
思路:线性规划,遍历两个链表,比较表头的值,小的一方剔除出下次遍历 代码: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { pub原创 2017-09-05 20:37:44 · 524 阅读 · 0 评论 -
牛客网编程-不用加减乘除做加法(java)
思路:求2个数的和,不用加减乘除,但是能用++和--,所以可以以0为界,将其中一个数++至0或者--至0,另一个数做相反的操作,就能得到结果 代码:public class Solution { public int Add(int num1,int num2) { while(num2 != 0){ if(num2 > 0){原创 2017-08-21 22:57:45 · 286 阅读 · 2 评论 -
牛客网编程-二叉树的深度(java)
思路:求二叉树的深度,想到左右子树递归 代码: /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ pub原创 2017-08-05 19:54:26 · 423 阅读 · 0 评论 -
牛客网剑指offer编程题——从上往下打印二叉树(Java)
解题思路:从上往下打印,则是父节点—>左子节点—>右子节点的顺序,总的来说顺序是很明确的,左子节点的子节点也优先于右子节点的子节点,所以只要从左往右依次遍历左右子节点,子节点的子节点也能是顺序排列的,队列可以满足该需求 代码如下:import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue;原创 2017-07-26 20:43:50 · 523 阅读 · 0 评论 -
牛客编程题-求1+...+n(不能用if,else,while,for,乘除法)(Java)
思路:题目要求1+...+n,不能用循环和乘除法,条件语句,思路是用递归实现,即sum(n) = sum(n-1) + n 代码: public class Solution { public int Sum_Solution(int n) { return solution(n); } static int solution(int n){原创 2017-08-03 14:42:41 · 457 阅读 · 0 评论 -
牛客网编程题-包含min函数的栈(java)
思路:题目要求写一个min函数,求栈中的最小值,栈要比较大小,必须pop出来,题目只需要求最小值,所以栈的结构不能变,因此需要额外的辅助栈保存数据,最后导回来 代码: import java.util.Stack; public class Solution { Stack stack = new Stack(); public void push(int nod原创 2017-08-03 14:34:54 · 304 阅读 · 0 评论 -
牛客网算法-删除公共字符
问题:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” import java.util.Scanner; public class Main{ public static void main(String[] args){ Sca...原创 2018-12-10 22:28:01 · 715 阅读 · 0 评论