摘要:
1 public class QuickSort { 2 3 public void sort(int[] k,int low,int high) 4 { 5 int point; 6 if(low=point) //当右边的值比中轴值... 阅读全文
摘要:
1 public class singleThree { 2 /* 3 * 如有数组A[]={2,2,3,2} 4 * 其二进制为 5 * 0 0 1 0 :2 6 * 0 0 1 0 :2 7 * 0 0 1 1 :3 8 * ... 阅读全文
摘要:
1 public class singleNum { 2 /* 3 * 因为a^b^a=b,所以1^2^2^3^3=1 4 * 5 * */ 6 7 public int single(int A[]) 8 { 9 ... 阅读全文
摘要:
1 public class SearchInsertPosition { 2 /* 3 * 思路如下: 4 * 1.先循环查找在数组中有没有一个数刚好等于目标数 5 * 2.如果查找到了就直接返回数组下标 6 * 3.如果查找不到的话,就再建立一个... 阅读全文
摘要:
public class ReverseInteger { /* * 思路如下 * 1.先把整型变量转化为字符串 * 2.再把字符串转换为char型数组,再通过比较传入变量的正负 * 3.如果为正的话就直接反转 * 4.如果为负的话,就先把正负号... 阅读全文
摘要:
1 /* 2 * 实现一个队列类,该类用两个栈来实现 3 * 队列和栈的主要区别是,队列是先进先出,就像我们在食堂[派对打饭一样,先到先打 4 * 栈是先进后出,就像枪里面的子弹,最先进去的把压到了最低 5 * 因此我们只要修改一下peek()和pop(),以相反顺序执行操作,我们可以利用... 阅读全文
摘要:
1 /* 2 * 设计一个栈,除了pop与push方法,还支持Min方法,可返回栈元素中的最小值, 3 * push、pop、min三个方法的时间复杂度必须是O(1) 4 * 一种解法是在Stack类里添加一个Int型的minValue,当minValue出栈... 阅读全文
摘要:
1 /* 2 * 在这个问题中你访问不到链表的首节点,只能访问那个待删除节点,其实我们可以这样想 3 * 就是把后继结点的值复制到当前节点,当前节点的下一个地址指向后继结点的下一个地址 4 * 把删除当前节点的问题转化为删除后继结点的问题 5 * 在这里要注... 阅读全文
摘要:
1 /* 2 * 这个算法使用递归的方式访问整个链表,当到达链表末端的时候,该方法会回传一个置位0的计数器 3 * 之后每次调用就会将这个计数器加1,当计数器等于K时,就说明我们要访问的链表倒数第K个元素找到了 4 * 在这里使用了栈回传 5 * */ 6 ... 阅读全文