随笔分类 -  算法题目总结

摘要:给定任意一个自然数,获取它重新排列后,下一个比它大的自然数,要求时间复杂度O(n)。例如: 给定1233,它的下一个是1323; 给定1323,它的下一个是1332; 给定9876,它的下一个不存在; 请设计一个函数,完成此功能。(语言不限) 我的思路其实是遍历第一次 获取到数值值递增的波动点 然后 阅读全文
posted @ 2019-02-22 03:27 toov5 阅读(305) 评论(0) 推荐(0) 编辑
摘要:把0挪放到最后 这样的结果是不能保证非0的数组元素顺序的: 所以可以用空间换时间的方法做: 这样是比较简单的 阅读全文
posted @ 2019-02-22 02:15 toov5 阅读(208) 评论(0) 推荐(0) 编辑
摘要:代码如下:自己看吧 结果: 聊聊快排吧,这个有点类似快排的感觉 1、外面的大while条件是left<right 2、两个指针 一个左边 一个右边 3、如果两个指针所属的 值都属性是一样 (都是偶数 都是奇数) 4、来个while 根据实际情况移动下指针 移动到值属性不一样为止 5、不一样时候 判断 阅读全文
posted @ 2019-02-21 18:48 toov5 阅读(316) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-12-20 00:43 toov5 阅读(14) 评论(0) 推荐(0) 编辑
摘要:突然奇想。自己手写一个indexOf 易读性的,练练代码能力: 阅读全文
posted @ 2018-12-19 12:39 toov5 阅读(460) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-12-18 01:49 toov5 阅读(10) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-12-06 02:42 toov5 编辑
摘要:package com.toov5.test; public class Test3 { public static void main(String[] args) { String max = "okokvv,okwer,wroksdf,fsdf"; String min = "ok"; int count ... 阅读全文
posted @ 2018-12-05 20:25 toov5 阅读(278) 评论(0) 推荐(0) 编辑
摘要:二叉树宽度: 使用队列,层次遍历二叉树。在上一层遍历完成后,下一层的所有节点已经放到队列中,此时队列中的元素个数就是下一层的宽度。以此类推,依次遍历下一层即可求出二叉树的最大宽度 阅读全文
posted @ 2017-12-10 22:15 toov5 阅读(165) 评论(0) 推荐(0) 编辑
摘要:public class HeapSort { 1. 2. public static void sort(Comparable[] data) { 3. // 构建最大堆 4. buildMaxHeap(data); 5. // 循环,每次把根节点和最后一个节点调换位置 后面的扔了搞前面的 ... 阅读全文
posted @ 2017-11-27 12:10 toov5 阅读(141) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2017-11-26 19:40 toov5 阅读(12) 评论(0) 推荐(0) 编辑
摘要:public class Solution { public int NumberOf1Between1AndN_Solution(int n) { int count=0; for(int i=1;i<=n;i++){ count+=core(i); } re... 阅读全文
posted @ 2017-10-13 17:52 toov5 阅读(169) 评论(0) 推荐(0) 编辑
摘要:上面的解法 时间复杂度 空间复杂度较高 阅读全文
posted @ 2017-10-13 16:42 toov5 阅读(225) 评论(0) 推荐(0) 编辑
摘要:class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } public class Solution { public TreeNode C... 阅读全文
posted @ 2017-10-13 11:01 toov5 阅读(146) 评论(0) 推荐(0) 编辑
摘要:题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 阅读全文
posted @ 2017-10-12 22:24 toov5 阅读(204) 评论(0) 推荐(0) 编辑
摘要:import java.util.ArrayList; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this... 阅读全文
posted @ 2017-10-12 22:00 toov5 阅读(157) 评论(0) 推荐(0) 编辑
摘要:题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列。假设压入栈的所有数字均不相等。例如序列1/2/3/4/5是某栈的压栈序列,序列4/5/3/2/1是该压栈序列对应的一个弹出序列,但4/3/5/1/2就不可能是该压栈序列的弹出序列; 阅读全文
posted @ 2017-10-12 21:33 toov5 阅读(126) 评论(0) 推荐(0) 编辑
摘要:package Problem19; /* * 问题描述: * 请完成一个函数,输入一个二叉树,该函数输出它的镜像; */ //定义二叉树的结构 class BinaryTreeNode { BinaryTreeNode leftNode; BinaryTreeNode rightNode; int value; } public class Mirror... 阅读全文
posted @ 2017-10-12 20:24 toov5 阅读(147) 评论(0) 推荐(0) 编辑
摘要:空间换时间 阅读全文
posted @ 2017-10-12 17:47 toov5 阅读(350) 评论(0) 推荐(0) 编辑
摘要:package Problem14; /* * 问题描述: * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位与数组的前半部分,所有偶数位与数组的 * 后半部分 */ public class ReorderOddEven { public static void reOrder(int array[]) { int firstIndex... 阅读全文
posted @ 2017-10-12 16:59 toov5 阅读(246) 评论(0) 推荐(0) 编辑