- 博客(210)
- 资源 (26)
- 问答 (1)
- 收藏
- 关注
原创 leetcode 67---Add Binary 二进制 进位 String
Given two binary strings, return their sum (also a binary string).For example, a = “11” b = “1” Return “100”.解题思路有3个需要注意:进位、哪一个更长一些、如何返回。 1、至于进位就是使用charAt(i)-‘0’得到每一位的数值;然后使用除2和模2进行操作,进位可以通过循环传递。
2016-05-17 19:43:06 407
原创 leetcode 66---Plus One 进位 数组
Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.解题思路:整数加1,需要考虑的是进位和最后的结果会不会多一
2016-05-17 16:40:57 505
原创 数据挖掘算法---KNN(附python代码)
首先本文只是介绍一下算法的思想以及里面涉及的关键的步骤,至于其所以然,大家可以看些专业的讲义或者视频,在此强烈推荐July的文章,虽然对于一些基础不好的人来说看完july的一篇长文是很费劲的,但是此人有传道精神,解惑品质,日后定成大师。希望以后大家多多支持。KNN中文名字是K近邻,可以用于分类和回归,下面以分类为例进行讲解:算法思想:基于最相似的算法思想,类似协同过滤。比如说已知了训练集的一些数据的
2016-05-15 21:56:11 2261
原创 leetcode 82-- Remove Duplicates from Sorted List II 链表 双指针 删除元素
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.For example, Given 1->2->3->3->4->4->5, return 1->2->5. Given 1->1->1->2
2016-05-09 20:35:31 414
原创 leetcode 83--Remove Duplicates from Sorted List 链表 删除元素
Given a sorted linked list, delete all duplicates such that each element appear only once.For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3. 解题思路就是遍历链表,如果2个节点的元素值相等就删掉后一个,
2016-05-09 20:05:04 364
原创 leetcode---Insertion Sort List
Sort a linked list using insertion sort. 链表的插入排序。和数组不同的是单链表是从前向后遍历的,所有使用从前向后插入元素的时候要找到第一个大于目标元素的位置,然后把目标元素节点插到其前面。/** * Definition for singly-linked list. * public class ListNode { * int val;
2016-05-09 19:40:22 364
原创 leetcode 21--Merge Two Sorted Lists 链表 合并
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.有序链表合并,参考单链表的归并排序。其实这个是是链表归并排序的一部分。/** * Definition for sin
2016-05-09 16:57:53 378
原创 leetcode---SortList
Sort a linked list in O(n log n) time using constant space complexity.对单链表进行排序,时间复杂度和空间复杂度决定了使用堆排序或者是快速排序。 采用的是堆排序,和数组不同的地方是需要找到中间的节点,然后递归进行分割到最下的单位,最后进行合并,合并的时候采用的是哑节点进行帮助,这样会方便的进行操作。/** * Definitio
2016-05-09 16:49:36 397
原创 算法和数据结构常考知识汇总--链接
面试10大算法汇总+常见题目解答 http://itindex.net/detail/47063-%E9%9D%A2%E8%AF%95-%E7%AE%97%E6%B3%95二叉树的详细讲解 http://www.cnblogs.com/manji/p/4903990.html面试准备之常见排序算法的总结 http://blog.csdn.net/kkkkkxiaofei/article/det
2016-05-09 14:42:37 657
原创 排序算法---堆排序
堆积排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。堆排序的排序思想: 利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录(最小记录)变得简单。1)将初始待
2016-05-09 13:13:19 410
原创 leetcode 61 --Rotate List 链表 循环/断开 翻转
Given a list, rotate the list to the right by k places, where k is non-negative.For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL.对于这题我们首先需要遍历链表,得到链表长度n,因为k可能大于n,所以我们需要取余处理
2016-05-06 13:53:01 485
原创 leetcode--Rotate Array
Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].Note: Try to come up as many solutions as you can, ther
2016-05-06 13:17:55 376
原创 leetcode 88--Merge Sorted Array 数组 合并 双指针
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional
2016-05-06 11:28:26 867
原创 leetcode--Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The order
2016-05-06 10:33:31 339
原创 查找算法---快速选择算法
快速选择算法,是一种能在大致O(N)的时间内选取数组中第k大或者k小的算法.其基本思路与快速排序算法类似,也是分治的思想.1 执行Partition算法(就是那个快排里将区间内所有数划分为小的一部分和大的一部分的过程) 2 判断第k大的数是在小的部分还是大的部分 3 递归,直到区间足够小,返回结果package selectTest;import javax.print.attribute.st
2016-05-05 15:27:56 867
原创 leetcode 328 --Odd Even Linked List 链表 双指针 移动节点
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it in plac
2016-05-04 22:34:58 745
原创 leetcode-- Partition List
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of the nodes in each of the
2016-05-04 22:05:24 564
原创 排序算法---归并排序
概述 归并排序是一种分治思想的排序,有2种:自上而下和自下而上。这里讨论的是自上而下的。 如下图所示: 关键步骤: 1、将数组分成2部分,middle=(low+high)/2; 1、继续对2部分把数组进行分割,使用递归直到分割成一个元素一组; 2、将已排序的两个子区间a[low…mid]和 a[mid+1…high]归并为一个有序的区间a[low…high]。时间复杂度: 归并排序的
2016-05-03 21:04:24 591
原创 leetcode--Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321解题思路就是除10取模操作,还有就是要处理反转后的溢出的问题。public int reserve (int x){ if(x==0) return 0; int flag=1; if(x<0){ fla
2016-05-03 16:33:35 499
原创 字符串转整形--java
package test;import java.awt.geom.FlatteningPathIterator;/** * 字符串转换成整数,需要考虑几种情况: 是否会溢出;-2147483648,+2147483647 有没有非法字符,非数字; * * @author duola * */public class StringToInt { private
2016-05-03 13:17:22 607
原创 leetcode 1---Two Sum 数组 哈希
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution.Example: Given nums = [2, 7, 11,
2016-04-29 16:48:08 366
原创 leetcode--Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.For example, Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space. You may no
2016-04-28 20:29:48 335
原创 leetcode--Valid Palindrome
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example, “A man, a plan, a canal: Panama” is a palindrome. “race a car” is not a palin
2016-04-28 19:56:48 377
原创 leetcode---Palindrome Linked List
Given a singly linked list, determine if it is a palindrome.Follow up: Could you do it in O(n) time and O(1) space?解题思路是: 1、找到链表的中间位置 2、把后半部分进行反转 3、逐位比较前半部分与后半部分是不是相等。/** * Definition for singly
2016-04-28 19:27:32 417
原创 leetcode---Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.思路是:先把int–>string–>char[]public class Solution { public boolean isPalindrome(int x) { String s=x+""; char[]
2016-04-28 19:23:02 306
原创 leetcode--Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3./** * Definition for singly-lin
2016-04-28 15:21:49 285
原创 字符串全排列
字符串全排列问题可以在需要字符串序列中选出一个字符放到第一位,然后对剩余的字符进行全排列,递归进行,可以得到所有字符的全排列,遇到有重复的字符的,只需要加一个判断即可,即判断之前是不是已经出现过了,如果已经出现过了就不做处理了。java代码:package test;public class StringQuanPaiLie { public int quanpailie(char[] lis
2016-04-28 11:11:26 451
原创 leetcode 206 ---Reverse Linked List 链表 反转
Reverse a singly linked list. 单链表的反转,核心是节点的下一个指向哪里的问题。 java版:public class test{public class ListNode{ int val; ListNode next' ListNode(int x){ val=x;}}public ListNode reverseList(Lis
2016-04-26 14:10:19 357
原创 leetcode--Reserve Vowels of a String
Write a function that takes a string as input and reverse only the vowels of a string.Example 1: Given s = “hello”, return “holle”.Example 2: Given s = “leetcode”, return “leotcede”.反转元音字母,只需要做判断就行了,
2016-04-26 12:44:47 712
原创 leetcode---Reverse String
Write a function that takes a string as input and returns the string reversed.Example: Given s = “hello”, return “olleh”.字符串反转,: java版本1:public class Solution { public String reverseString(String
2016-04-26 10:45:42 364
原创 leetcode----Merge Sorted Array
package leedcode;import java.lang.reflect.Array;import java.util.ArrayList;import javax.crypto.spec.IvParameterSpec;/** * @author duola Given two sorted integer arrays nums1 and nums2, merge nums2 *
2016-04-21 13:00:53 373
原创 单链表----定义、增加节点、删除节点、遍历输出(java)
单链表的结构比较简单,图示如下: 单链表有很多个节点构成。每个节点由指针域和数值域构成,指针指向下一个节点的数值域。最后一个节点的指针指向的是NULL。java实现单链表的一些基本的操作:package test;import javax.xml.soap.Node;/** * 单链表的创建和增删改查 * @author duola */public class SingleLink
2016-04-19 16:25:39 2619
原创 leetcode---Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is
2016-04-18 22:00:51 396
原创 排序算法---希尔排序
希尔排序属于插入排序的类别,本质上是分组插入排序。 其基本思想是: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2package test;public class ShellSortTest { static void shellsort(int[] a) {
2016-04-18 21:11:16 403
原创 排序算法---二分插入排序
二分(折半)插入(Binary insert sort)排序基本思想:设在数据表中有一个元素序列v[0],v[1],v[2]……v[n].其中v[0],v[1],v[2]……v[i-1]是已经排好序的元素。在插入v[i]。利用折半搜索寻找v[i]的插入位置。二分插入排序是一种稳定的排序。当n较大时,总排序码比较次数比直接插入排序的最差情况好得多,但比最好情况要差,所元素初始序列已经按排序码接近有序时
2016-04-18 16:03:50 642
原创 排序算法---直接插入排序算法
直接插入排序的思想 在一个已经有序的小序列的基础上,一次插入一个元素。刚开始这个有序的小序列只有1个元素,也就是第一个元素。比较是从有序序列的末尾开始,也就是把待插入的元素和已经有序的最大者开始比起,如果比它大则直接插入在其后面。否则一直往前找直到找到它该插入的位置。如果遇见一个与插入元素相等的,那么把待插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序仍是排好
2016-04-18 12:24:50 678
原创 Android Studio 打包发布apk
1、生成keystore 。 方法:点击build—>Create new–>输入目录文件夹–>输入密码—>next—>finish.2、生成高德地图的SHA1码。 第一步、打开Android Studio的Terminal工具 第二步、输入命令:keytool -v -list -keystore keystore文件路径 第三步、输入Keystore密码 。回车生成。3、获得高德地图的k
2016-04-14 19:32:03 647
原创 排序算法---冒泡排序
交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。package test;/** * 冒泡排序是将数组中相邻的2个元素进行比较,然后把比较小的放到前面。这样就是升序排序; * 把比较大的额放在前面就是降序排序。需要比较的次数是n次。 * 它适合数据规模很小的时候,而且
2016-04-13 11:07:21 658
原创 排序算法---快速排序
思想是分治法。将数组分成2个子序列,然后独立的进行排序,和归并排序是互补的。详细描述:首先在要排序的序列 a 中选取一个基准值,而后将序列分成两个部分,其中左边的部分 b 中的元素均小于或者等于基准值,右边的部分 c 的元素 均大于或者等于基准值,而后通过递归调用快速排序的过程分别对两个部分进行排序,最后将两部分产生的结果合并即可得到最后的排序序列。快速排序在进行交换时,只是根据比较基数值判断是否交
2016-04-12 20:28:51 594
ACM程序设计
2016-11-16
Multi-View K-Means Clustering on Big Data
2016-04-06
图像可视化的综述+原文+译文
2015-10-18
如何进行机器学习算法的实验?
2015-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人