- 博客(142)
- 收藏
- 关注
原创 剑指offer解题思路简述:61-68
面试题61:扑克牌中的顺子方法:五张牌排序,把大小王先当作零,然后统计零的个数,挨个求相邻两个数的间隔,若果间隔有0,表明有重复牌,则不可能是顺子,如果0的个数大于所有数间隔的和,则是顺子面试题62:圆圈中最后剩下的数字方法:约瑟夫huan...
2020-06-01 14:26:39
341
原创 剑指offer解题思路简述 41-50
面试题41:数据流中的中位数方法1:没有排序的数组,插入1,得到中位数n方法2:排序的数组,插入n,得到中位数1方法3:排序的链表,同排序的数组方法4:最大堆+最小堆,插入logn,得到中位数1,保证建立的最大堆的每个数都小于最小堆,为保证两个堆平衡,约定当前数目为奇数时放到最大堆,如果当前数大于最小堆的最小数x,则将x放入最大堆,将当前数放入最小堆。面试题42:连续子数组的最大和方法:当前累加的和若为负数,直接舍弃,保存当前的最大和,从下一个数重新开始累加面试题43:1~n
2020-05-30 15:12:21
311
原创 剑指offer解题思路简述 31-40
面试题31:栈的压入,弹出序列方法:先判断特殊情况,如果栈1为空或者两个栈的长度不相等的话,直接return False,设置一个辅助栈,设置一个for循环,每次将栈1的数据压入到辅助栈中,然后设置一个while循环,判断辅助栈当前的栈顶元素是否等于栈二的最前面数,如果相等,两个栈都调用pop,一直循环到不等,最后到退出for循环,判断栈1是否为空,如果不是空,return False。面试题32:从上到下打印二叉树方法一:设置一个队列,while循环,挨个取出队列里的数,将它的左右节点挨个
2020-05-28 22:02:19
270
原创 剑指offer解题思路简述 21-30
面试题21:调整数组顺序使奇数位于偶数前面方法一:设置前后两个指针,前面的指针往后移,当前面的指针指向的数是偶数时,后面往前移,当后面的指针指向奇数时,两个指针的数据交换,知道两个指针重合方法二:从头遍历,偶数放一个list里,奇数放一个list里,然后拼接两个list,需要额外的空间面试题22:链表中倒数第K个节点方法一:先遍历一遍链表,得到链表的长度l,然后指针走l-k步方法二:两个指针,第一个指针走k-1,然后从第K补开始,第二个指针开始一起走,当第一个指针式到尾节点时,第二个
2020-05-27 22:14:41
258
原创 剑指offer 解题思路简述总结篇11-20
面试题11:旋转数组的最小数字方法:设两个指针,分别位于数组的开头和结尾,若开头的数小于结尾的数,直接返回开头数,否则找到中间的数,若中间数大于开头数,范围缩小到中间数到结尾数,若中间数小于开头数,则范围缩小到前半部分,若相等则直接return该段的最小值,如此反复,最终衙门会指向两个相邻的元素,循环结束,返回第二个指针指向的元素。...
2020-05-12 22:16:47
242
原创 剑指offer 解题思路简述总结篇1-10
只记录需要技巧有些许难度的题面试题3,数组中重复的数字方法一:排序后从头开始依次比较相邻的两个是否相等,相等即重复,nlogn方法二:利用新的存储空间set类型,挨个取数据看是否已经存在set中,存在return,不存在add,n方法三:从头开始遍历num,将每个数的数值x和它的下表i进行比较,不等则将num[i]和num[x]进行比较,相等则return,不相等则交换,交换后仍重复上述过程,直到数值和下表相等,n面试题4,二维数组中的查找方法:从右上角的数x开始比较,若需要查找
2020-05-09 19:56:41
253
原创 1003 Emergency (25) python
题目大意:输入了医疗队的编号和他们之间相连接需要的条数输出指定的两个医疗队的最短路径的条数,并且在最短路径中能聚集的医疗队的数量例子:0到2的最短路径可以是0-2.0-1-2.他们都是2的距离,但是0-1-2能聚集1+2+1的医疗队,输出4用到深度优先算法:尽可能深的搜索,当节点所在的边被探寻过或者不满足条件时,回朔到上一步,反复进行该过程直到所有的点遍历普适模板:...
2020-04-23 23:06:16
213
原创 ssh连接 公钥添加到服务器
1、先找到自己主机的ssh连接公钥mac系统下,在/Users/用户名/.ssh 目录下id_rsa.pub文件,打开后复制其中的全部内容,格式类似于ssh-rsa.......2、到服务器端找到/root/.ssh/authorized_keys文件,将刚刚复制的内容,添加到该文件的末尾...
2020-03-12 14:26:07
1348
原创 1009 Product of Polynomials (25分)
A = [eval(i) for i in input().split()]B = [eval(i) for i in input().split()]d1, d2, d3 = {}, {}, {} # d1,d2,d3分别是第一个多项式,第二多项式,结果多项式for i in range(A[0]): a = i*2+1 d1[A[a]] = d1.get(A[a],...
2020-02-25 15:48:59
152
原创 1007 Maximum Subsequence Sum (25分)
num = int(input())number = [int(x) for x in input().split()]flag = Trueif len([x for x in number if x >= 0]) == 0: flag = False print(0, number[0], number[-1])sums = -1 #有可能第一个数是0temp...
2020-02-25 14:35:54
128
原创 PAT 1006 Sign In and Sign Out
m=int(input())lst=[]for i in range(m): a,b,c=input().split() b=tuple(map(int,b.split(":"))) c=tuple(map(int,c.split(":"))) lst.append((a,b,c))#sorted排序之后仍是list。从小到大排序out1=sorted(...
2020-02-24 22:22:01
100
原创 1002 A+B for Polynomials (25分)
input1=[eval(i) for i in input().split()] input2=[eval(i) for i in input().split()]d = {}#查找键值的时候顺便合并同类项for i in range(input1[0]): a = i*2+1 d[input1[a]] = input1[a+1]+d.get(input1[...
2020-02-24 21:22:22
169
原创 kafka 在windows 平台的搭建和简单操作
亲测可用!!一、安装 1、kafka 需要java环境; 2、kafka 最新版本内置了 zookeeper,所以不需要安装zookeeper; 3、下载kafka最新版本,点击下载,因为下载的是tgz文件,所以不需要安装,解压到相应的地方就可以了。先winzip解压,再7-zip提取二、运行 简单demo测试,不需要修改任何...
2019-08-14 10:33:57
185
原创 leetcode_121_买卖股票的最佳时机
class Solution {public: int maxProfit(vector<int>& prices) { if (prices.size() < 1) return 0; int min_ = prices[0]; int ret = 0; for (int ...
2018-08-20 22:09:22
210
原创 leetcode_202_快乐数
class Solution {public: bool isHappy(int n) { set<int> s; while(n){ int t = 0; while(n){ t += (n%10) * (n%10); n =...
2018-08-20 10:21:37
206
原创 leetcode_868_二进制间距
class Solution {public: int binaryGap(int N) { int res = 0; int count = 0; bool flag = false; while(N>0){ if((N&1) ==1){ flag...
2018-08-12 21:52:30
351
原创 leetcode_876_链表的中间结点
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode...
2018-08-12 18:38:20
220
原创 leetcode_867_转置矩阵
class Solution {public: vector<vector<int>> transpose(vector<vector<int>>& A) { int m = A[0].size(), n=A.size(); vector<vector<int>> res...
2018-08-12 17:35:53
371
原创 leetcode_137_只出现一次的数字 II
class Solution {public: int singleNumber(vector<int>& nums) { if (nums.size()==1) return nums[0]; sort(nums.begin(),nums.end()) ; for(int i=0;i<nums.size();...
2018-08-12 17:02:22
205
原创 leetcode_46_全排列
class Solution {private: vector<vector<int>> result; void helper(vector<int>& nums, int start, int end) { if (start == end) { result.push_back(nu...
2018-08-12 15:12:09
202
原创 leetcode_22_括号生成
class Solution {public: void backtrade(string sublist,vector<string>& res,int left,int right) { if(left == 0 && right == 0) { res.push_back(su...
2018-08-12 14:06:07
290
原创 leetcode_59_螺旋矩阵 II
class Solution {public: vector<vector<int> > generateMatrix(int n) { if(n==0)return vector<vector<int> >(); vector<vector<int> >result(n, ve...
2018-08-11 21:37:46
206
原创 leetcode_338_比特位计数
class Solution {public: vector<int> countBits(int num) { vector<int> v(num+1, 0); for (int i = 1; i <= num; i++) v[i] = v[i>>1] + (i&1); ...
2018-08-11 21:09:16
498
原创 leetcode_78_子集
class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> result(1); for(int i = 0; i < nums.size(); ...
2018-08-10 23:15:46
177
原创 leetcode_807_保持城市天际线
class Solution {public: int maxIncreaseKeepingSkyline(vector<vector<int>>& grid) { int result = 0; vector<int> arr1; for(int i=0;i<grid.size();...
2018-08-10 15:03:24
335
1
原创 leetcode_704_二分查找
class Solution {public: int search(vector<int>& nums, int target) { int result,i=0,j=nums.size()-1; while(i<=j) { int mid = i+(j-i)/2; ...
2018-08-10 10:22:24
349
转载 windown+cpu+Keras/Tensorflow+python+yolo3训练自己的数据集
转自:https://blog.csdn.net/Patrick_Lxc/article/details/80615433 感谢博主第一步:下载VOC2007数据集,把所有文件夹里面的东西删除,保留所有文件夹的名字。 像这样: 第二步:把你所有的图片都复制到JPEGImages里面 像这样: 第三步:生成Annotations下的文件 ...
2018-08-06 18:10:40
4723
22
原创 leetcode_860_柠檬水找零
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。示例 1:输入...
2018-07-30 21:17:27
180
原创 leetcode_53_最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。class Solution {public: ...
2018-07-29 20:45:20
157
原创 leetcode_203_删除链表中的节点
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5/** * Definition for singly-linked list. * struct ListNode { * int val; * L...
2018-07-28 15:10:40
166
原创 leetcode_83_删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for singly-linked list. * struct ListNode { * ...
2018-07-28 14:50:31
144
原创 leetcode_24_两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。class Solution {public: ListNode* swapP...
2018-07-28 14:32:44
173
原创 leetcode_328_奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->...
2018-07-28 12:31:45
168
原创 leetcode_74_搜索二维矩阵
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]target = 3输出: true示例 2:输...
2018-07-27 20:33:45
236
原创 leetcode_9_删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?/** * Definition for singly-li...
2018-07-27 16:10:00
162
原创 leetcode_350_两个数组的交集 II
给定两个数组,写一个方法来计算它们的交集。例如:给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。跟进:如果给定的数组已经排好序呢?你将如何优化你的算法? 如果 nums1 的大小比 nums2 小很多,哪种...
2018-07-25 22:19:25
230
原创 leetcode_28_实现strStr()
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needl...
2018-07-25 21:43:26
146
原创 leetcode_88_合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...
2018-07-25 20:49:34
249
原创 leetcode_26_删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为1,2。 你不需要考虑数组中超出新长度后面的元素。示例 2:...
2018-07-25 19:25:58
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人