自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 矩阵中从左上角到右下角的路径条数

题目:给定一个n*m矩阵,求从左上角到右下角总共存在多少条路径,每次只能向右走或者向下走。解法一:和上一篇文章的思想相似,在此不再重复叙述。int uniquePaths(int m, int n) { if (m <= 0 || n <= 0) return 0; vector data(n,1); int cur = 0; for(int i = 1; i < m; ++i)

2016-05-31 11:53:38 10915

原创 矩阵中从左上角到右下角最短路径(五种方法)

题目:给定一个n*m的矩阵,矩阵中元素非负,从左上角到右下角找一条路径,使得路径上元素之和最小,每次只能向右或者向下走一个方格。如下图所示:最短路径是图中绿色部分的元素。 方法一(转换为图中的最短路径):我们可以把矩阵中的每个方格当做图中的一个顶点,相邻的方格之间有一条边,每个方格最多有两条出边,(当前方格到右侧方格有一条出边,当前方格到下侧方格有一条出边)。我们把矩阵中的最短路径转

2016-05-30 21:36:21 29522 2

原创 leetcode 43 Multiply Strings (字符串相乘)

Given two numbers represented as strings, return multiplication of the numbers as a string.Note: The numbers can be arbitrarily large and are non-negative. Converting the input string to i

2016-05-28 16:31:31 423

原创 判断两条线段是否相交

题目:给定两条线段,判断这两条线段是否相交,线段AB的表示形式是A(x1,y1)B(x2,y2),线段CD的表示形式为C(x3,y3)D(x4,y4)。那么我们如何判断线段AB与线段CD是否相交。 解析:在介绍如何解决线段相交问题之前,我们先介绍向量的叉积。如下图所示: 下面的图(1)表示p1向量在p2向量的顺时针方向,图(2)表示p1向量在p2向量逆时针方向,图(3)

2016-05-28 11:15:00 838

原创 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

2016-05-28 09:26:51 2971

原创 顺时针九十度旋转矩阵(两种方法)

题目:给定一个n*n的矩阵,顺时针把矩阵旋转90度。比如说{{1,2,3}{4,5,6}{7,8,9}}。顺时针旋转90度为{{7,4,1}{8,5,2}{9,6,3}}。 解法一:时间复杂度为o(n*n),空间复杂度为o(n)。步骤:(1)把矩阵的行当做一个整体,逆序矩阵中的行,也就是说把matrix[i]行和matrix[len - i]进行交换。(2)在交换后的矩阵中,按照对角

2016-05-27 21:37:27 23281

原创 leetcode 299 Bulls and Cows

You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, you provide a hint t

2016-05-27 19:56:42 235

原创 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

2016-05-27 15:31:17 1733

原创 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,2,3},加一以

2016-05-26 22:10:23 279

原创 leetcode(198,213)House Robber(I,II)

题目一: You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adja

2016-05-26 20:27:20 255

原创 顺时针打印矩阵

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如:如果输入的矩阵如下图所示:则顺时针打印的序列为:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。 解析:我们可以一圈一圈的打印矩阵,要一圈一圈的打印矩阵,必须获得圈的边界:圈的起始行和终止行,以及圈的起始列和终止列。打印的结束条件是:(1)起始行和终止行相同。(2)起始列和终止

2016-05-25 21:34:25 369

原创 动态规划之最长递增子序列

题目一:给定一个长度为N的数组,找出一个最长的单调递增子序列(不一定连续,但是顺序不能乱)。并返回单调递增子序列的长度。 例如:给定一个长度为8的数组A{1,3,5,2,4,6,7,8},则其最长的单调递增子序列为{1,2,4,6,7,8},我们返回其长度6。 题目二:在题目一的基础上,我们要返回该子序列中的元素。例如,给定一个长度为8的数组A{1,3,5,2,4,6,7,8}

2016-05-08 17:12:24 753

原创 C++标准库中next_permutation和pre_permutation实现原理

标准库中next_permutation函数:找当前序列中元素排列的下一个排列,按照字典顺序进行排列。比如说数组排列"123",那么它的下一个排列为"132",并且返回true。如果当前序列没有下一个排列,我们返回false,且把当前排列置为最小的排列,比如说:排列"321",因为该排列已经是最大的排列,所以它没有下一个排列。我们把该排列置为"123",并且返回false。 标准库实现两

2016-05-06 17:47:30 3502 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除