![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LintCode
IFollowRivers
now is everything!
展开
-
比特位操作——O(1)时间检测2的幂次
用 O(1) 时间检测整数 n 是否是 2 的幂次。您在真实的面试中是否遇到过这个题? Yes样例n=4,返回 true;n=5,返回 false.solution: 在O(1)时间内判断一个整数是否为2的幂次,只能使用位操作。因为2的幂次数其二进制表示中1的个数只有一个而其他的数则没有这情况。而2的幂次减1除了那位为0其他位为1。 例如转载 2017-06-27 20:12:53 · 602 阅读 · 0 评论 -
动态规划——交叉字符串
参考资料:http://blog.csdn.net/smallfish_love/article/details/52277838参考答案:http://www.jiuzhang.com/solution/interleaving-stringpublic class InterleavingString { /** * @param args */ publ原创 2017-06-14 19:43:14 · 640 阅读 · 0 评论 -
动态规划——乘积最大子序列
题目链接:http://www.lintcode.com/zh-cn/problem/maximum-product-subarray/参考资料:http://blog.csdn.net/wzy_1988/article/details/9319897 https://www.bbsmax.com/A/A7zgX6KKJ4/public c原创 2017-06-14 20:43:40 · 603 阅读 · 0 评论 -
动态规划——正则表达式匹配
题目链接:http://www.lintcode.com/zh-cn/problem/regular-expression-matching/参考资料:http://www.cnblogs.com/wuchaodzxx/p/5846284.html 【思路正确,但是伪代码写错了:字符串中的第j个字符的位置应该是j-1】///////////////////动态规划 public bool原创 2017-06-19 15:46:00 · 2239 阅读 · 2 评论 -
动态规划——不同的路径
题目链接:http://www.lintcode.com/zh-cn/problem/unique-paths/参考资料:http://blog.csdn.net/derrantcm/article/details/47182719public class UniquePaths { public static void main(String[] args) { // T原创 2017-06-19 21:57:15 · 961 阅读 · 0 评论 -
动态规划——矩阵最小路径和
public class MinimumPath { public static int minPathSum(int[][] arr){ if(arr==null||arr.length==0) return 0; int[][]dp=new int[arr.length][arr[0].length]; dp[0][0]=arr[0][0]; for(int i=1;原创 2017-06-24 20:24:27 · 786 阅读 · 0 评论 -
动态规划——最大递增子序列
参考博客:http://www.cnblogs.com/lonelycatcher/archive/2011/07/28/2119123.htmlpublic class LongestIncreasingSubsequence { public static int subsequence(int[] arr,int n){ //n为输入数组的长度 if(arr==null||n=原创 2017-06-24 22:01:27 · 525 阅读 · 0 评论 -
比特位操作——Flip Bits(将整数A转化为B)
如果要将整数A转换为B,需要改变多少个bit位? 注意事项Both n and m are 32-bit integers.样例如把31转换为14,需要改变2个bit位。(31)10=(11111)2(14)10=(01110)2public class FlipBits { public static int bitSwapRe原创 2017-06-26 21:15:57 · 1394 阅读 · 0 评论 -
二分搜索——找出有序循环数组中的最小值
题目链接:http://www.lintcode.com/zh-cn/problem/find-minimum-in-rotated-sorted-array-ii/假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。你需要找到其中最小的元素。数组中可能存在重复的元素。 注意事项The array原创 2017-06-29 11:02:40 · 1262 阅读 · 0 评论 -
FlipBits
题目链接:http://www.lintcode.com/en/problem/flip-bits/public class FlipBits { public static void main(String[] args) { // TODO Auto-generated method stub } public static int bitSwapRequired(in原创 2017-06-19 22:25:35 · 384 阅读 · 0 评论 -
比特位操作——更新二进制
转自:http://blog.csdn.net/shinanhualiu/article/details/49027891给出两个32位的整数N和M,以及两个二进制位的位置i和j。写一个方法来使得N中的第i到j位等于M(M会是N中从第i为开始到第j位的子串) 样例 给出N = (10000000000)2,M = (10101)2, i = 2, j = 6 返回 N = (100转载 2017-06-26 21:57:40 · 2493 阅读 · 0 评论 -
比特位操作——二进制表示
转自:http://blog.csdn.net/shinanhualiu/article/details/50405295给定一个数将其转换为二进制(均用字符串表示),如果这个数的小数部分不能在 32 个字符之内来精确地表示,则返回 “ERROR”。样例 n = “3.72”, 返回 “ERROR”.n = “3.5”, 返回 “11.1”.public cla转载 2017-06-27 19:23:52 · 1614 阅读 · 0 评论 -
比特位操作——二进制中有多少个1
举一反三:http://blog.csdn.net/ifollowrivers/article/details/73744489 (这两道题思路一模一样)计算在一个 32 位的整数的二进制表式中有多少个 1.您在真实的面试中是否遇到过这个题? Yes样例给定 32 (100000),返回 1给定 5 (101),返回 2给定原创 2017-06-27 19:38:29 · 1635 阅读 · 0 评论 -
动态规划——编辑距离
参考博客:http://blog.csdn.net/d87420572/article/details/17961485http://blog.csdn.net/eraser567/article/details/50715746http://blog.csdn.net/vonzhoufz/article/details/44627829参考答案:http://ww原创 2017-06-12 20:50:13 · 413 阅读 · 0 评论