![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
algorithm
洋锅,小酌一杯
花名洋锅,你来了我们就干一杯。于一年千杯之最,心旷神怡
展开
-
剑指offer:重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。先看一个图,了解前序和中序是怎么还原二叉树的基本原理简单理解:先从前序遍历中找到根节点,然后拿根节点去中序遍历中找到左右分支,然后以左右分支在去反复递归...原创 2019-04-24 12:03:27 · 175 阅读 · 0 评论 -
堆排序
package com.mmall.test;public class BubbleSort {public static void main(String[] args) { int[] nums = {16,7,3,20,17,8}; headSort(nums); for (int num : nums) { System.out....原创 2019-09-03 16:04:13 · 78 阅读 · 0 评论 -
[编程题]每K个一组反转链表
反转链表的进阶版。题目描述给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。public static ListNode ReverseList(ListNode head,int k) { if(head==null||head.next==null...原创 2019-09-16 17:37:07 · 212 阅读 · 0 评论 -
两个数不使用四则运算得出和
考基本功了,工作之后才知道为什么校招的时候各个公司都喜欢面点算法。看源码的时候你会发现,基础功的重要性。上图上思路。既然不能用四则运算,想到按位异或来操作。看源码的时候发现很少有四则运算,都是位运算。比较计算机是识别二进制,位运算效率更高。思路:两个数相加,计算机中实际就是二进制的相加,分为 0+0 =0,0+1=1, 1+1=0 的情况。这样看来计算分两部:1、不考虑进位的情况。 ...原创 2019-02-19 12:10:14 · 468 阅读 · 0 评论