算法编程
旧时佑忆
计算机软件,IT ,AI
展开
-
C#版本快速排序
public static void quicksort(int[] arr,int low,int high) { if (low < high) { int index = getIndex(arr, low, high); quicksort(arr, low, index - 1); quicksort(arr, index + 1,.原创 2020-10-16 10:21:11 · 387 阅读 · 0 评论 -
输出数组内只出现奇数次的元素
给定一个数组,该数组内只有一个数只出现了奇数次,请找出这个数字(异或)由异或关系可知,x^x=0,x^0=x ,并且异或满足交换律,因此这个特殊数组内所有的偶数次元素与自己异或都会为0,最后出现次数为奇数次的元素和0异或当然是本身了,这样便输出这个元素了。代码如下public class Test { public static void main(String[] arg...原创 2019-10-20 15:31:12 · 576 阅读 · 0 评论 -
查找最长无重复字符串子串编程问题
给定一个字符串 “abccabd”,查找出没有重复字符的字符串子串的最大长度。主要应用了滑窗移动的思想,需要提前创建一个Hashset 集合来存储字符串。定义一个区间[i,j],i和j的初始值都为0,开始每次j向右移动一格,判断此时的字符是否在前面创建的Hashset中存在,如果不存在则将这个字符加入创建好的Hashset中,同时记录此时的长度,与上一个记录的长度比较取最大值。当...原创 2019-05-18 19:26:07 · 745 阅读 · 0 评论 -
双向循环链表的实现详解
双向循环链表直接体现为 双向和循环,一般的单链表只有节点数据data和next指向地址(应该也是引用的意思),而在此需要增加前面部分的pre指向地址,同时还需要循环循环则在定义节点时可以解决,如下所示即假想只有一个节点的时候,不论是上一个节点的指向还是下一个节点的指向都是自己。双向可以假想三个节点,实际上就是3个节点之间完成pre和next的指向替换,如下图所示 ...原创 2019-05-09 16:47:57 · 2411 阅读 · 0 评论 -
递归(斐波那契数列与汉诺塔问题)
1.斐波那契数列要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39观察斐波那契数列的特征可以知道当n>2时,第n项的结果都是由前两项相加而得到的,因此使用递归的思想,即f(n)=f(n-1)+f(n-2)。public static long method(int n) { if(n<2) { return 1; ...原创 2019-05-05 19:57:46 · 1400 阅读 · 0 评论 -
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
public static void method(ListNode listNode) { // TODO Auto-generated method stub ArrayList<Integer> list = new ArrayList<Integer>(); ArrayList<Integer> result = new ArrayList...原创 2019-04-25 14:07:55 · 119 阅读 · 0 评论 -
二分查找编程
二分查找的前提是线性表中的记录必须是关键码有序(通常是从小到大),线性表必须采用顺序存储。它的基本思想是:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。二分查找的时间复杂度为O(logn),远远好于顺序查找的O(n),但是前提是有序表ja...原创 2019-04-29 18:10:52 · 429 阅读 · 0 评论 -
字符串空格替换编程问题
实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class blankReplace { public static void main(String[] args) { // TODO Auto-generated method stub //实现一个函数...原创 2019-04-24 19:08:04 · 179 阅读 · 0 评论 -
无重复字符的最长字串编程问题
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.如abcdd,最长无重复字串为abc,长度为3public class NoRepeatString {//给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 public static void main(String[] args) { // TODO Auto-generated method s...原创 2019-04-23 17:59:34 · 149 阅读 · 0 评论 -
java字符串压缩编程问题
给定一个字符串aaabbbccc,编写一个函数使其压缩为a3b3c3的形式。public class pressal { public static void main(String[] args) { // TODO Auto-generated method stub String str = "aaaccbbb"; System.out.println(method(s...原创 2019-04-23 10:43:33 · 464 阅读 · 0 评论