随笔分类 - LeetCode
摘要:leetcode 189 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 方法二 暴力解法 循环k次移位 每次向右移一位 leetcode过了 leetcode-cn超时
阅读全文
摘要:题目:给出三个字符,求它们的全排列 , 比如 a , b , c 应该输出 abc acb bac bca cab cba六种
阅读全文
摘要:题目:给两个list,第一个代表pid,第二个代表ppid ,长度均为n,代表n个进程,eg :pid = [1,3,10,5],ppid = [3,0,5,3](1的父进程是3,3的父进程是0,10的父进程是5,5的父进程是3),杀死5,输出10 。。画出树状图如下 3 / \ 1 5 / 10
阅读全文
摘要:题目;给一个数组,让后把它摆动排序。比如给[[1, 5, 1, 1, 6, 4],排序之后是[1, 4, 1, 5, 1, 6]; 给[1, 3, 2, 2, 3, 1],排序之后是[2, 3, 1, 3, 1, 2] 思路:题目实际要求O(n),但是没想到,简单的做法,先排序,然后从中间分成大小两
阅读全文
摘要:题目:给你一个int型的整数,返回它二进制中1的个数,注意可能给负数 思路:用无符号右移可以解决负数的情况,while循环的条件要变成不等于0 注:>>>:无符号右移,高位补0;>>:右移,高位补符号位;
阅读全文
摘要:题目:给你一个数n,判断n是不是某个数的幂,,这个数题目里会给出,leetCode上有三道题,分别是2的幂,3的幂,4的幂 思路:方法都一样,while循环而已
阅读全文
摘要:题目:给一个从0到n的数组递增,里面少一个,求少的这个,例如[0,2,3],输出1,别被给的例子迷惑,也可能数组是乱序的。。。。 思路:题目要求O(n),考虑位运算,先异或0到n所有数,再异或数组的每个数。即为所求
阅读全文
摘要:题目:给一颗BST,找两个节点最小绝对值的差 思路:遍历一下,再扫一遍就行。。。。。
阅读全文
摘要:题目:给你一个字符串,求它的最长回文子序列,比如“bbbab” 最长回文子序列是"bbbb" 所以返回4,,"abab"最长子序列是“aba”或者“bab” 所以返回3 思路:和之前做的几道dp不同,,,也是我不够变通,,打dp表的时候总习惯左上到右下的顺序,但是这个顺序却固化了我的思维,忽略了对于
阅读全文
摘要:题目:转置字符串中的单词,例如 Input: "Let's take LeetCode contest" Output: "s'teL ekat edoCteeL tsetnoc" 思路:双指针控制区间,区间内转置。。
阅读全文
摘要:题目:给一个n*m的格子,每个格子里有一些值,负的代表要减去,正的代表可以加上,从左上到右下,走到每个格子时,值不能小于等于0,求最小的初始值 思路:从右下到左上求到达每个格子的最小值
阅读全文
摘要:题目:给你一个三角形,求最小路径和 例如:{{2} 所以返回2+3+5+1=11 {3 , 4} {6, 5 , 7} {4 , 1,8, 3}} 思路:三角形有点像树,所以可以暴力从上到下求每条路径的和在找出最小的,,但是观察可以发现,每个数只和它上面对应的数相关,也就是说它能否都被选中,依赖于它
阅读全文
摘要:题目:给一个整数,将它分解成几个数的和,求使这几个数乘积最大的情况,,比如n=4 4=2+2 return 4; n = 10, return 36 (10 = 3 + 3 + 4) 思路:6 = 2 + 2 + 2 = 3 + 3.但是 2 * 2 * 2 < 3 * 3.,由数学的知识(我也不知
阅读全文
摘要:题目:就是从一个数组中找出一些数,使得这些数的和等于剩下没被找的数的和 思路:实际上就是找一些数,使他们的和等于数组总和的一半,,所以这是一道01背包的变形题,对于每个数字,要么选,要么不选即可。
阅读全文
摘要:题目:给一个数字n,返回0到n这n+1个数每个数的二进制形式有几个1,比如n=5,返回【0,1,1,2,1,1】因为0,1,2,3,4,5这几个数对应的二进制分别有0,1,1,2,1,1个1 思路:暴力算每个数的话就没意思了,这里要用dp,可是公式或者说规律比较难找。。f(i)=f(i/2)+i%2
阅读全文
摘要:题目:和之前一道抢房子一样,区别是增加了一个条件,房子是环形分布的,就是说不能同时偷第一个和最后一个,因为他们也是挨着的。。 思路:最优解很巧妙的想法,我们已经算过直线分布的了,那么环形分布和直线分布是不是有什么相似之处呢??其实直线分布如果在后面加一个财宝为0的房子,就是环形分布。环形分布只要去掉
阅读全文
摘要:题目:给一个数组,求可以切多少片,切的片要求至少有三个数,并且成等差数列,比如【1,2,3,4】可以切成【1,2,3】,【2,3,4】和【1,2,3,4】三种 思路:自己举几个例子找下规律,用动态规划的话,当前值依赖之前一个值和一个参数,这个参数从1开始每次增加1,比如[1,2,3,4,5] dp[
阅读全文
摘要:题目:给定整数的数组,其中1≤A [1]≤ N(N=数组的大小),一些元素出现两次以及其他出现一次。找到不出现在这个数组中的[1,n ]包含的所有元素。 思路:map的思想。。。。
阅读全文
摘要:题目:还是求左上到右下的不同路径,只是里面有陷阱不能走 思路:dp[i][j]还是代表到当前格子的路径和,但是如果map[i][j]有陷阱,dp[i][j]就为0
阅读全文
摘要:题目:从一个m*n的格子的左上走到右下,求有多少路径,只能向右和向下 思路:简单二维dp,dp[i][j]里存起始到当前格子的不同路径和,它只能从两个方向到达,所以求左边和上边的路径和
阅读全文

浙公网安备 33010602011771号