• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






struggleforit

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2018年3月2日

《剑指offer》按热度排序 三
摘要: 41.把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 考点:时间效率 思路: 代码: 42.翻转单词顺序列 牛客最近来了一个新员工Fish,每天早晨总 阅读全文
posted @ 2018-03-02 15:58 struggleforit 阅读(222) 评论(0) 推荐(0)
 
《剑指offer》按热度排序 二
摘要: 21.包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 考点:栈 思路:同《九章算法》CHAPTER EIGHT 第四题 带最小值操作的栈 代码: import java.util.Stack; public class Solution { Stack<I 阅读全文
posted @ 2018-03-02 15:42 struggleforit 阅读(242) 评论(0) 推荐(0)
 

2018年2月26日

《剑指offer》按热度排序 一
摘要: 1.二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 考点:查找 思路:类search 2D Matrix II的解题思路 代码: public class Sol 阅读全文
posted @ 2018-02-26 22:15 struggleforit 阅读(572) 评论(0) 推荐(0)
 

2018年1月8日

SortAndFind(排序与查找)
摘要: 1.给定两个排序后的数组A和B,其中A的末端有足够的缓冲空容纳B。编写一个方法,将B合并入A并排序。 思路:从数组A和B的末端元素开始,将最大的元素放到数组A的末端。 public static void merge(int[] a, int[] b, int lastA, int lastB) { 阅读全文
posted @ 2018-01-08 18:07 struggleforit 阅读(691) 评论(0) 推荐(0)
 

2017年11月27日

RecursionAndDynamicProgramming(递归和动态规划)
摘要: 1.有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一个方法,计算小孩有多少种上楼梯的方式。 思路:采用自上而下的方式解决问题。最后一步可能是从第n-1阶往上走1阶、从第n-2阶往上走2阶、或从第n-3阶往上走3阶。因此,抵达最后一阶的走法,就是抵达这最后三阶的方式的总和。 阅读全文
posted @ 2017-11-27 23:13 struggleforit 阅读(290) 评论(0) 推荐(0)
 
MathAndProbability(数学与概率)
摘要: 1.有个篮球框,下面两种玩法可任选一种。玩法1:一次出手机会,投篮命中得分。玩法2:三次出手机会,必须投中两次。如果p是某次投篮命中的概率,则p的值为多少时,才会选择玩法1或玩法2? 解法:假设投中概率是p,p1 = p; p2 = 3 * p * p * (p - 1); 算什么情况下选玩法一:p 阅读全文
posted @ 2017-11-27 16:47 struggleforit 阅读(445) 评论(0) 推荐(0)
 

2017年11月24日

Bit(位操作)
摘要: 1.1一个整型数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这一个只出现一次的数字。 思路:所有数字异或,最后结果就是只出现一次的数。 public int singleNumber(int[] nums) { int length = nums.length; if(length = 阅读全文
posted @ 2017-11-24 16:57 struggleforit 阅读(1087) 评论(0) 推荐(0)
 

2017年11月17日

TreeAndGraph(树和图)
摘要: 1.实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个结点,其两棵子树的高度差不超过1。 class TreeNode { int data; TreeNode left; TreeNode right; public TreeNode(int value) { this.d 阅读全文
posted @ 2017-11-17 17:00 struggleforit 阅读(802) 评论(0) 推荐(0)
 

2017年11月16日

StackAndQueue(栈与队列)
摘要: 1.描述如何只用一个数组来实现三个栈。 思路:将整个数组划分为三等份,将每个栈的增长限制在各自的空间里。 栈1, 使用【0,n/3)。 栈2,使用【n/3,2n/3)。 栈3,使用【2n/3 , n)。 public class ArrayStack { static int stackSize = 阅读全文
posted @ 2017-11-16 22:09 struggleforit 阅读(848) 评论(0) 推荐(0)
 

2017年11月13日

LinkedList(链表)
摘要: 1.编写代码,移除未排序链表中的重复结点。如果不得使用临时缓冲区,该怎么解决? 思路:直接迭代访问整个链表,将每个结点加入散列表。若发现有重复元素,则将该结点从链表中移除,然后继续迭代。使用链表。只需扫描一次即可。时间复杂度是o(N),N是链表结点数目。 import java.util.Hasht 阅读全文
posted @ 2017-11-13 22:46 struggleforit 阅读(1095) 评论(0) 推荐(0)
 
下一页