- 博客(19)
- 收藏
- 关注
原创 LeetCode q21
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 来源:力扣(LeetCode) /** Definition for singly-linked list. struct ListNode { int val...
2020-04-23 17:36:10
162
原创 LeetCode q22
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出:[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 来源:力扣(LeetCode) void generate(int left, int right, int n, char *str, int index, cha...
2020-04-21 21:38:35
201
原创 LeetCode q27
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2...
2020-04-20 19:58:27
177
原创 LeetCode q17
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 来源:力扣(LeetCode) /** Note: The returned array must be mallo...
2020-04-20 18:19:27
152
原创 LeetCode 信息传递
小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 有 n 名玩家,所有玩家编号分别为 0 ~ n-1,其中小朋友 A 的编号为 0 每个玩家都有固定的若干个可传信息的其他玩家(也可能没有)。传信息的关系是单向的(比如 A 可以向 B 传信息,但 B 不能向 A 传信息)。 每轮信息必须需要传递给另一个人,且信息可重复经过同一个人 给定总玩家数 n,以及按 [玩家编号,对应可传递玩家编...
2020-04-19 18:02:44
367
原创 LeetCode拿硬币
桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示例 1: 输入:[4,2,1] 输出:4 解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。 示例 2: 输入:[2,3,10] 输出:8 限制: 1 <= n <= 4 1 <...
2020-04-18 20:31:31
320
原创 LeetCode q48
给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ] 示例 2: 给定 matrix ...
2020-04-12 17:24:17
108
原创 LeetCode q35
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。** 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 来源:力扣(...
2020-04-11 20:12:32
141
原创 LeetCode q31
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 1,2,3 1,1,5 → 1,5,1 来源:力扣(LeetCode) void nextPermu...
2020-04-11 19:25:23
110
原创 关于int
int 与unsigned int 二者范围不同,int 二进制最高位为符号位,标示的范围要小于unsigned unsigned int 0~4294967295 int -2147483648~2147483647 编译系统不同,字节数与范围也不一定相同 32位 short int 2字节 int 4字节 -2147483648~2147483647 long int...
2020-04-11 16:08:24
202
原创 LeetCode q20 括号匹配问题
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: 输入: “([)...
2020-04-09 20:30:08
166
原创 LeetCode q12
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12...
2020-04-09 19:36:10
200
原创 LeetCode q11
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部...
2020-04-09 16:57:44
210
原创 LeetCode q2
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> ...
2020-04-02 17:45:57
130
原创 LeetCode q8
请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽...
2020-03-31 17:38:43
146
原创 LeetCode q 14
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 来源:力扣(LeetCode) char * longestCommonPrefix(char ** st...
2020-03-26 15:43:45
151
原创 LeetCode q9
bool isPalindrome(int x){ //方法一 ,这是第一个想到的方法,注意与二的比较 int a[100]={0}; //执行用时:12 ms 内存消耗:5.4 MB int m,n,i=0; if(x<0) return 0; while(x!=0){ a[i++]=x%10...
2020-03-19 16:53:20
121
原创 LeetCode q7
int reverse(int x){ long max=2147483647; long min=-2147483648; long n=0; if(x>max||x<min) return 0; while(x!=0){ n=n*10+x%10; x/=10; } if(n>max||n<min) \测试时1534236469,不能正常返回,原因是逆序后96...
2020-03-18 18:53:10
165
原创 **LeetCode q3**
int lengthOfLongestSubstring(char * s){ int begin=0, end=0; int length=0,max=0; int a[256] = {0}; a[(int)*(s+begin)]=1; \以下标的形式保存第一个字母,存在为1 while(*(s+end)!=0){ length=end-begin+1; ...
2020-03-17 21:45:27
146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅