• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






乘风有时

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  C

1

 
[LeetCode]ZigZag Conversion
摘要:题目:ZigZag Conversion 一串字符按照Z字形的数组给了我们,要求转成原本的顺序。 思路: 统计“|/”的个数; 竖着的和斜着的下标有对应关系; 竖着的:k = j*(2*numRows - 2) + i; 斜着的(不含两个端点):k = (j + 1)*(2*numRows - 2) 阅读全文
posted @ 2017-04-07 17:10 乘风有时 阅读(236) 评论(0) 推荐(0)
[LeetCode]Swap Nodes in Pairs
摘要:题目:Swap Nodes in Pairs 交换相邻的两个节点。 思路: 两个指针指向相邻的两个节点,交换他们。 注意: 链表节点少于2个直接返回。 1->2->3->4->5->6 p:2,q:3; 交换3,4的顺序: p->next = q->next; p = p->next; q->nex 阅读全文
posted @ 2017-04-07 17:05 乘风有时 阅读(190) 评论(0) 推荐(0)
[LeetCode]Spiral Matrix
摘要:题目:Spiral Matrix 螺旋输出一个数组。 思路: 螺旋的方式遍历这个数组,一次外循环,遍历数组一圈,直到全部遍历完。 题目:Spiral MatrixII 给定一个数字n,则有n^2个数字,螺旋的形式将这些数字分布到n单元的数组中。 思路: 和上面类似一圈为一个周期,但是这个数组是nxn 阅读全文
posted @ 2017-04-07 16:54 乘风有时 阅读(169) 评论(0) 推荐(0)
[LeetCode]Search in Rotated Sorted Array
摘要:题目:Search in Rotated Sorted Array 给定一个升序但绕某一个值旋转的数组,找到给定的目标值的下标,没找到返回-1. 思路: 第一个值和最后一个值是旋转后被分成的两个升序数组的临界值,第一个值是较大的数组的最小值,最后一个值是较小的数组的最大值。 判断target在哪个数 阅读全文
posted @ 2017-04-07 16:48 乘风有时 阅读(175) 评论(0) 推荐(0)
[LeetCode]Rotate Image
摘要:题目:Rotate Image 旋转一个NxN的矩阵90度 要求常数空间复杂度。 思路: 从最外围开始,将第一行转到最后一列,最后一列转到最后一行,最后一行转到第一列,这是一个周期。 然后分别考虑上面周期中每个数的坐标对应关系。 例如:An*n: a00 a01 a02 a03 a10 a11 a1 阅读全文
posted @ 2017-04-06 23:11 乘风有时 阅读(262) 评论(0) 推荐(0)
[LeetCode]Remove Nth Node From End of List
摘要:题目:Remove Nth Node From End of List 删除链表从尾部到头部第N的节点。 思路: 两个指针,一个从头开始前移N个节点后,第二个指针开始移动,当第一指针移动到末尾时,第二个指针指向的是从尾部到头部的第N个节点。 注意: 1.N不合法,大于链表长度 2.要删除的是头结点 阅读全文
posted @ 2017-04-06 22:55 乘风有时 阅读(150) 评论(0) 推荐(0)
[LeetCode]Permutation
摘要:给定一系列数字,关于从小到大的所有可能的排列的相关题目 题目1.next Permutation 给定一个数字,找到这一系列数字中从小到大排序中该数字的下一个数字值。 思路: 按位从后往前(从个位开始往上)找到给的数字的首个非增序的数字; 然后继续从前往后找到比该数字大且最接近它的数字,交换这两个数 阅读全文
posted @ 2017-04-05 21:12 乘风有时 阅读(354) 评论(0) 推荐(0)
[LeetCode]Merge Intervals
摘要:题目:Merge Intervals 给定n个区间合并重合区间 思路: 先按照区间起点排序,然后合并下面情况: 1.起点相同,以最大的终点为新的终点; 2.前一个终点大于后一个的起点。 阅读全文
posted @ 2017-04-05 20:47 乘风有时 阅读(248) 评论(0) 推荐(0)
[LeetCode]Container With Most Water
摘要:题目:Container With Most Water 给定一个int数组,找到两个值,以其下标的差为宽度,最短高度为高度求面积。 思路: 定义两个指针,一个从前往后,一个从后往前; 每次固定前面的指针,后面的遍历一遍找到最大的面积(和前面的循环结果比较)记录下来。 还有复杂度O(n)的做法。 同 阅读全文
posted @ 2017-04-05 20:41 乘风有时 阅读(206) 评论(0) 推荐(0)
[LeetCode]Longest Palindromic Substring
摘要:题目:Longest Palindromic Substring 查找最长回文子串 思路: 一个指针从头部,一个指针从尾部,对比每一个字母,若相等则可能是回文子串,则,检测子串是否回文,是则比较和已知的子串长度,更长就记录其起始和终止坐标,否则就放弃。 上面的思路是从两边向中间收束,另一个思路是从中 阅读全文
posted @ 2017-04-04 22:53 乘风有时 阅读(245) 评论(0) 推荐(0)
[LeetCode]Letter Combinations of a Phone Number
摘要:题目:Letter Combinations of a Phone Number 将电话号码的组合转换称所有可能的字母组合。 思路: 首先将电话键盘中的0->9的数字对应的字母集合放到一个常量二维数组中便于搜索。 [ [' ']//0 []//1 ['a','b','c']//2 ... ['w', 阅读全文
posted @ 2017-04-04 22:43 乘风有时 阅读(200) 评论(0) 推荐(0)
[LeetCode]Valid Sudoku
摘要:题目:Valid Sudoku 检测数独是否合格。 思路: 填充一遍就知道是否合格。 基本暴力搜索的思想。 思路2: 题目并没有要求数独必须是能解出来的,所以没有必要这么复杂的去判断。 只需要判断给出的数字中有没有重复的。 阅读全文
posted @ 2017-04-03 22:24 乘风有时 阅读(224) 评论(0) 推荐(0)
[LeetCode]Integer to Roman
摘要:题目:Integer to Roman int型数字转化为罗马数字的形式 思路: 由于只是1到3999,一共只有四位,分别求这四位的情况。 可以将每一位从1到9,int和罗马数字的一一对应的关系给出来,然后直接转换。 上面思路代码冗余,不好。 思路2: 考虑每位对应数字是多少就先填多少个对应的罗马数 阅读全文
posted @ 2017-04-03 21:50 乘风有时 阅读(234) 评论(0) 推荐(0)
[LeetCode]Group Anagrams
摘要:题目:Group Anagrams 将字符串数组分组,变位词组为一组 变位词:单词的字母相同位置不同 思路1: 暴力搜索,比较每个单词。 思路2: 排序,我讲每个单词的字母之和作为值去比较,排序; 同时排序时把变位词放在一起,保证相邻的单词必定为变位词 阅读全文
posted @ 2017-04-03 21:32 乘风有时 阅读(334) 评论(0) 推荐(0)
[LeetCode]Generate Parentheses
摘要:题目:Generate Parentheses 要找到所有可能的括号配对情况。 思路: 递归求解,记录当前已添加到字符串中的左括号个数, 每次判断当前是否可用左括号和右括号,都可以则将现有的字符串复制一份,表示增加一种情况。 当左括号已用完,则只能添加右括号。 当所有左括号都已配对且还有剩余括号时, 阅读全文
posted @ 2017-04-03 21:15 乘风有时 阅读(205) 评论(0) 推荐(0)
[LeetCode]String to Integer (atoi)
摘要:题目:String to Integer 这个问题只要考对一个问题思考的是否全面。 思路很简单: 遍历字符串将其一一转成数字,前面转化的数字乘10再加上后面转化的数字。 注意: 1.跳过前面的空格,注意不用跳过数字中间的空格。 2.考虑正负号在数字前面的情况。 2.考虑数字值过大超过int的范围的情 阅读全文
posted @ 2017-04-03 10:14 乘风有时 阅读(179) 评论(0) 推荐(0)
[LeetCode]sum合集
摘要:LeetCode很喜欢sum,里面sum题一堆。 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 a 阅读全文
posted @ 2017-04-03 10:14 乘风有时 阅读(990) 评论(0) 推荐(1)
[LeetCode]Jump Game
摘要:题目:Jump Game 以数组下标为表示,数组的值为可前进范围,判断是否能到数组的最后。 这个问题非常简单,将下标和数组值加起来,找到大于数组长度的值为止,此时,是可以;如果找不到,就表示不可以。 自己考虑了一下,如果要求正好到数组的末尾才算能够到达,没个数组的值不再是范围内的下标都可以,而是必须 阅读全文
posted @ 2017-04-03 10:13 乘风有时 阅读(260) 评论(0) 推荐(0)
[LeetCode]Add Two Numbers
摘要:题目:Add Two Numbers 链表的数据对应位置相加,之和组成新的链表,已经说过是非负的值。 题目不难,注意链表的操作。 本人觉得平时练习有时间,即便题目说链表不为空,我们也应该判断一下,养成良好的习惯很重要。 说一下注意点: 1.主要考虑进位 2.注意可能链表不一样长 3.注意不要忘记了最 阅读全文
posted @ 2017-04-03 10:12 乘风有时 阅读(121) 评论(0) 推荐(0)
[LeetCode]Longest Substring Without Repeating Characters
摘要:题目:Longest Substring Without Repeating Characters 遇到本题时,我最开始没有考虑特殊字符,以为只有字母,结果程序一直通不过。 下面是没有考虑特殊字符的程序,注意并没有通过! 因为我在里面把数组做成了环,同时也是提醒自己,所以也把代码贴在这里。(main 阅读全文
posted @ 2017-04-03 10:12 乘风有时 阅读(169) 评论(0) 推荐(0)
 

1