
LeetCode
csdn_lzw
这个人很菜什么也没写
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
200、463、695. DFS Island
200 Number of IslandsDFSclass Solution(object): def numIslands(self, grid): """ :type grid: List[List[str]] :rtype: int """ if not grid: retur...原创 2018-10-03 21:19:32 · 170 阅读 · 0 评论 -
64. DP Minimum Path Sum
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can only move either down or right at an...原创 2018-10-01 15:20:54 · 170 阅读 · 0 评论 -
62. DP Unique Paths
相当于机器人总共走了m + n - 2步,其中m - 1步向下走,n - 1步向右走,那么总共不同的方法个数就相当于在步数里面m - 1和n - 1中较小的那个数的取法,实际上是一道组合数的问题,写出代码如下:class Solution(object): def uniquePaths(self, m, n): """ :type m: int ...原创 2018-10-01 15:10:15 · 167 阅读 · 0 评论 -
877. DP 石子游戏
亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回 true ,当李赢得...转载 2018-10-01 14:16:49 · 596 阅读 · 0 评论 -
338 、DP 统计从0到n每个数的二进制写法的1的个数
状态转移 dp[i] = dp[i>>1] + (i&1).class Solution(object): def countBits(self, num): """ :type num: int :rtype: List[int] """ dp = [0]*(1+num)...原创 2018-09-30 22:38:37 · 492 阅读 · 0 评论 -
152. Maximum Product Subarray
连续最大字段和与最大字段积同时 保留当前位置的最大和最小def maxProduct(nums): ma = nums[0] mi = nums[0] res = nums[0] for i in range(1,len(nums)): mi,ma = min(nums[i], nums[i]*mi, nums[i]*ma),max(nums...原创 2018-09-18 21:40:59 · 124 阅读 · 0 评论 -
198. House Robber
动态规划,设置maxV[i]表示到第i个房子位置,最大收益。递推关系为maxV[i] = max(maxV[i-2]+num[i], maxV[i-1])class Solution {public:int rob(vector<int>& nums) { int n=nums.size(); if(n==0)return 0; vec...原创 2018-05-07 14:50:34 · 144 阅读 · 0 评论 -
35
二分查找#include <cstdio>#include <iostream>#include <set> #include <vector>using namespace std; int searchInsert(vector<int>& nums, int target) { int low = 0,high = nums.size()-1;原创 2018-02-08 14:20:40 · 175 阅读 · 0 评论 -
747
747数组 寻找最小的两个数#include <cstdio>#include <iostream>#include <set> #include <vector>using namespace std;int dominantIndex(vector<int>& nums) { int maxn = -1; int maxnsec = -1;原创 2018-02-07 23:32:27 · 205 阅读 · 0 评论 -
121. Best Time to Buy and Sell Stock
转换 为求最大子序列和问题 53题 nums[i] = prices[i]-prices[i-1] nums[0] = 0;#include <cstdio>#include <iostream>#include <set> #include <vector>using namespace std;int maxProfit(vector<int>& prices) {原创 2018-02-09 16:44:56 · 133 阅读 · 0 评论 -
53最大子序列和
DP 状态转移方程:sum[i] = max{sum[i-1]+a[i],a[i]}. (sum[i]记录以a[i]为子序列末端的最大连续和。#include <cstdio>#include <iostream>#include <set> #include <vector>using namespace std;int maxSubArray(vector<int>& nums)原创 2018-02-09 16:21:53 · 216 阅读 · 0 评论 -
283. Move Zeroes
#include <cstdio>#include <iostream>#include <set> #include <vector>using namespace std;void moveZeroes(vector<int>& nums){ int count =0 ; for(int i=0; i<nums.size();++i) { if(原创 2018-02-09 19:42:10 · 174 阅读 · 0 评论 -
771 桶排
771 桶排#include <cstdio>#include <iostream>#include <set> using namespace std;int numJewelsInStones(string J, string S) { int sum = 0; int count[58]={0};//6...原创 2018-02-03 21:20:34 · 213 阅读 · 0 评论