OJ 算法
lingzhm
好记性不如烂博客,浸淫Java若干年
展开
-
给定一个整数sum, 从有N个有序元素的数组中寻找元素a,b,使得a+b的结果最接近sum
class FindClosestPairExample { public static void findAndPrintClosest(int[] arrayOne, int expectedSum) { int lenOne = arrayOne.length; //数组长度,默认全部填满。 int diff = Intege原创 2015-04-04 12:58:04 · 8270 阅读 · 3 评论 -
输出有序数组的连续序列范围
Given a sorted integer array without duplicates, return the summary of its ranges.For example, given [0,1,2,4,5,7], return["0->2","4->5","7"].说明:0,1,2是连续的序列,则输出0->24,5又是另外一组连续的,则输出4->57单原创 2015-08-21 22:43:26 · 1260 阅读 · 0 评论 -
寻找丑数
题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。 求按从小到大的顺序的第1500个丑数。分析:这是一道在网络上广为流传的面试题,据说google曾经采用过这道题。Java代码 package microsoft; import java.util.Array转载 2015-08-22 21:20:12 · 807 阅读 · 1 评论 -
两个字符串中最长公共子字符串
如"abcde" "bkcdq" 最大公共子字符串是"cd"public static void findMaxCommonStr(){ Scanner s = new Scanner(System.in); String str1 = s.next(); String str2 = s.next(); char a[] = str1.toCharArray();原创 2015-08-21 16:06:43 · 2690 阅读 · 0 评论 -
输入一个链表,从尾到头打印链表每个节点的值。
package test3;import java.util.ArrayList; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class printFromTailtoHead { public static ArrayLis原创 2015-08-06 16:05:55 · 4882 阅读 · 0 评论 -
求给定的两个数组的公共元素,并将其返回为一个数组
如数组a:1,3,4,5,6,7,2数组b:3,6,0,2则方法返回数组c:{2,3,6}package test3;import java.util.Arrays;public class findCommonData { public static int[] getCommon(int []array1, int []array2){ int[] arra原创 2015-08-04 21:18:23 · 3131 阅读 · 0 评论 -
LeetCode OJ Count Primes
Description:Count the number of prime numbers less than a non-negative number, n.Credits:Special thanks to @mithmatt for adding this problem and creating all test cases.题目描述:求小于正整数n的所有素数个数原创 2015-08-28 16:17:27 · 759 阅读 · 0 评论 -
LeetCode OJ Binary Tree Paths
Given a binary tree, return all root-to-leaf paths.For example, given the following binary tree: 1 / \2 3 \ 5All root-to-leaf paths are:["1->2->5", "1->3"]递归的方法:publi原创 2015-08-28 16:54:35 · 759 阅读 · 0 评论 -
杭电OJ 1002 大数相加
Problem DescriptionI have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. InputThe first line of the input contains an integer T(1<=T<原创 2015-08-08 21:51:22 · 1248 阅读 · 0 评论 -
Jdk 1.7.0_17中提供的默认的排序算法
参考自:论文,Dual-Pivot Quicksort algorithm ,by Vladimir Yaroslavskiy。http://www.sytarena.com/javajswz/20140217/1329.html转载自:http://blog.csdn.net/jy3161286/article/details/23361191?utm_source=tuicool转载 2015-04-13 10:24:28 · 5246 阅读 · 0 评论 -
判断32位无符号整数二进制中1的个数
1、比较简单和容易理解的方法就是逐位比较法:#include using namespace std; int findone(unsigned int n){ for(int i=0;n>0;n>>=1) i+=(n&1); return i; } int main(){ int n; cin>>n; c转载 2015-04-07 15:07:56 · 2999 阅读 · 0 评论 -
把一个字符串转换成int类型(Java实现)
把一个字符串转换成int类型,比如“123” --> 123这道题目主要考查边界情况及非法输入的处理,c++跟Java处理起来不一样,Java是不存在整数比Integer.MAX_VALUE还大的数,Java会将溢出的数自动进行处理成合法的值,负数也是同理,剑指offer49题用c++实现,直接比较了一下正数或负数跟最大正整数和最小负整数的值,Java这样比较是不行的。参考Integer("原创 2015-09-08 16:53:07 · 8975 阅读 · 0 评论