算法
巴黎会飞的猪
一枚Android开发程序猿
展开
-
【JAVA算法】简单-将有序数组转换为二叉搜索树
算法虽难,循序渐进,督促自己,总有进步;本博文仅为了督促自己学习算法,如有遗漏或错误之处,请不吝指教;题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例 :给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以...原创 2020-04-07 23:38:17 · 818 阅读 · 0 评论 -
【JAVA算法】简单-x 的平方根
算法虽难,循序渐进,督促自己,总有进步;本博文仅为了督促自己学习算法,如有遗漏或错误之处,请不吝指教;题目实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842...,...原创 2020-04-06 20:57:40 · 1976 阅读 · 0 评论 -
【JAVA算法】简单-二进制求和
算法虽难,循序渐进,督促自己,总有进步;本博文仅为了督促自己学习算法,如有遗漏或错误之处,请不吝指教;题目给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"解题方案:1....原创 2020-04-04 21:59:46 · 915 阅读 · 1 评论 -
算法之JAVA实现冒泡排序
概念理解冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。图解实现/** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * ...原创 2019-02-14 17:03:03 · 147 阅读 · 0 评论 -
算法之JAVA实现快速排序
原理理解通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果比它小交换,比它大不做任何处理;交换了以后再和小的那端比,比它小不交换,比他大交换。这样循环往复,一趟排序完成,左边就是比中轴小的,右边就是比中轴大的,然后再用分治法,分别对这两个独立的数...转载 2019-02-14 18:26:17 · 483 阅读 · 0 评论