- 博客(118)
- 收藏
- 关注
原创 Linux C语言递归遍历目录
下面代码实现Linux环境下递归遍历目录#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <dirent.h>void isfile(char *n...
2019-01-31 00:22:54 714
原创 Leetcode 40. 组合总和 II
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集...
2019-01-30 21:33:54 84
原创 Leetcode 39. 组合总和
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为...
2019-01-30 20:19:50 129
原创 Leetcode 931. 下降路径最小和
给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。 示例:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:12解释:可能的下降路径有:[1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9] [...
2019-01-30 17:32:54 150
原创 Leetcode 22. 括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"] class Solution: def generateParenthesis(self, n): "&q
2019-01-30 16:56:26 95
原创 Leetcode 51/54. N皇后
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q...
2019-01-30 16:44:56 145
原创 Leetcode 812. 最大三角形面积
定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释: 这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 <= points.length <= 50. 不存在重复的点。 -50 <= points[...
2019-01-30 01:10:49 185
原创 Leetcode 14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入
2019-01-29 23:28:39 76
原创 Leetcode 3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最...
2019-01-29 21:31:30 71
原创 Leetcode 334. 递增的三元子序列
给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下:如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。示例 1:输...
2019-01-29 20:45:29 184
原创 C语言Linux ls命令实现
下面代码实现类似Linux终端中ls功能 #include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <dirent.h>int main(int argc, char *argv[]){ DIR *dp; s...
2019-01-29 20:22:30 574
原创 Linux C语言编程查看文件权限
下面代码查看文件是否有读权限#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/stat.h>int main(int argc, char* argv[]){ if(access(argv[1],R_OK)) { perror("acc...
2019-01-29 18:34:43 1824
原创 C语言 Linux终端拷贝
使用C语言实现Linux环境下终端拷贝函数#include <unistd.h>#include <fcntl.h>#include <stdio.h>#include <errno.h>int main(int argc, char *argv[]){ char buf[1024]; int ret = 0; int f...
2019-01-28 21:32:59 157
原创 C语言 Linux read以及write函数
#include <unistd.h>#include <fcntl.h>#include <stdio.h>#include <errno.h>int main(void){ char buf[1024]; int ret = 0; int fd = open("./dict.txt",O_RDWR); printf("f...
2019-01-28 21:11:29 2769
原创 C语言 Linux open函数详解
下面这段程序,是一段调用Linux API读写的程序#include <unistd.h>#include <fcntl.h>#include <stdio.h>int main(void){ int fd = open("./dict.txt",O_RDONLY); printf("fd=%d\n",fd); close(fd); pri...
2019-01-28 00:01:50 5147
原创 Linux C语言基础命令行参数
#include<stdio.h>int main(int argc, char *argv[]){ int i; for(i=0;i<argc;i++) printf("Argv %d is %s\n", i,argv[i]); return 0; }在Linux命令行中执行以下函数输出结果为结合Linux下相关API,可以实现一个cp...
2019-01-27 22:26:53 1027
原创 Leetcode 628. 三个数的最大乘积
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 很简单的两种情况class S...
2019-01-27 20:03:28 67
原创 Leetcode 529. 扫雷游戏
让我们一起来玩扫雷游戏!给定一个代表游戏板的二维字符矩阵。 'M' 代表一个未挖出的地雷,'E' 代表一个未挖出的空方块,'B' 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字('1' 到 '8')表示有多少地雷与这块已挖出的方块相邻,'X' 则表示一个已挖出的地雷。现在给出在所有未挖出的方块中('M'或者'E')的下一个点击位置(行和列索引),根据以下规则,...
2019-01-27 19:41:06 326
原创 Leetcode 506相对名次
给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: ["Gold Medal", "Silver Medal", "Bro.
2019-01-27 00:01:03 208
原创 Leetcode 498. 对角线遍历
给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 示例:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]解释: 说明:给定矩阵中的元素总数不会超过 100000 。在真实的面试中遇到过这道...
2019-01-26 23:38:24 196
原创 Leetcode 492. 构造矩形
作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求:1. 你设计的矩形页面必须等于给定的目标面积。2. 宽度 W 不应大于长度 L,换言之,要求 L >= W 。3. 长度 L 和宽度 W 之间的差距应当尽可能小。你需要按顺序输出你设计的页面的长度 L...
2019-01-26 22:40:55 86
原创 Leetcode 374. 猜数字大小
我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了!示例 :输入: n = 10, pick ...
2019-01-26 21:22:03 93
原创 Leetcode 693. 交替位二进制数
给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。示例 1:输入: 5输出: True解释:5的二进制数是: 101示例 2:输入: 7输出: False解释:7的二进制数是: 111示例 3:输入: 11输出: False解释:11的二进制数是: 1011 示例 4:输入: 10输出: ...
2019-01-26 20:58:09 121 1
原创 Leetcode 367. 有效的完全平方数
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False 使用经典的二分方法,C++会超时,使用Pythonclass Solution: def isPerfectSquare...
2019-01-26 20:16:44 94
原创 Leetcode 215. 数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 这是经典的问题...
2019-01-26 19:43:01 149 1
原创 Leetcode 59. 螺旋矩阵 II
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]] 这是一个经典二维矩阵遍历题目class Solution {public: vector<vector<int>> genera...
2019-01-26 18:32:33 75
原创 Leetcode 54. 螺旋矩阵
给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]...
2019-01-26 18:17:26 83
原创 Leetcode 49. 字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"],
2019-01-26 17:37:30 138
原创 Leetcode 183. 从不订购的客户
某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。Customers 表:+----+-------+| Id | Name |+----+-------+| 1 | Joe || 2 | Henry || 3 | Sam || 4 | Max |+----+-------+Or...
2019-01-25 00:06:26 127
原创 Leetcode 620. 有趣的电影
某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。 例如,下表 cinema:+---------+-----------+-...
2019-01-24 23:56:38 200
原创 Leetcode 181. 超过经理收入的员工
Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。+----+-------+--------+-----------+| Id | Name | Salary | ManagerId |+----+-------+--------+-----------+| 1 | Joe | 70000 | 3 ...
2019-01-24 20:42:47 114
原创 Leetcode 784. 字母大小写全排列
给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = "a1b2"输出: ["a1b2", "a1B2", "A1b2", "A1B2"]输入: S = "3z4"输出: ["3z4", "3Z4"]输入: S = "12345"
2019-01-24 19:55:14 256
原创 Leetcode 47. 全排列 II
给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]] 这里需要在每次递归前进行一次剪枝操作,这里不需要进行排序class Solution {public: void dfs(int start,int end, vector<int> &am...
2019-01-24 19:07:49 100
原创 C 解决谁是小偷逻辑问题
警察抓了 A、B、C、D 四名罪犯,其中一名是小偷,审讯的时候:A说:“我不是小偷。” x !=0B说:“C 是小偷。” x = 2C说:“小偷肯定是 D。” x = 3 D说:“C 是在冤枉人。” x != 3现在已经知道四个人中三个人说的是真话,一个人说了假话,请判断一下到底谁是小偷? 代码#include <iostream>#...
2019-01-24 17:54:26 2737
原创 Leetcode 175. 组合两个表
表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+PersonI...
2019-01-24 15:53:19 201
原创 Python约瑟夫问题
题目内容:已知n个人(以编号0,1,2,3...n-1分别表示)围坐在一张圆桌周围。从编号为0的人开始报数1,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 输入格式:两个正整数n, m,其中3<=n<=100, 1<=m<=n 输出格式:按照顺序出列的人的编号列表 输入...
2019-01-23 20:44:48 1192
原创 Leetcode 371. 两整数之和
不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1 C语言的位运算class Solution {public: int getSum(int a, int b) { return b...
2019-01-23 00:26:12 160
原创 Leetcode 520. 检测大写字母
给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。否则,我们定义这个单词没有正确使用大写字母。示例 1:输入: "USA"输出: True示例 2:输入: "...
2019-01-23 00:22:39 115
原创 Leetcode 976. 三角形的最大周长
给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回 0。示例 1:输入:[2,1,2]输出:5示例 2:输入:[1,2,1]输出:0示例 3:输入:[3,2,3,4]输出:10示例 4:输入:[3,6,2,3]输出:8 提示:3 <=...
2019-01-22 23:39:27 323
原创 Leetcode 596. 超过5名学生的课
有一个courses 表 ,有: student (学生) 和 class (课程)。请列出所有超过或等于5名学生的课。例如,表:+---------+------------+| student | class |+---------+------------+| A | Math || B | English || C...
2019-01-22 21:28:55 232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人