- 博客(5)
- 收藏
- 关注
原创 leetcode 面试题198+17.6
此题可用动态规划求解,原数组为b[],我们用一个二维数组a[][2]来表示当前是否预约到客人,a[][0]就表示当前没有接预约,a[0][1]则表示接到预约,分析一下,对于按摩师来说 如果当前接到预约,那么则说明上一个是一定没有预约的,那么此时总预约时间最长应该为当前预约时间+上一个没有预约到的时间,即为a[i][1]=b[i]+a[i-1][0].如果当前没有接到预约,则上一个可能预约也可能没有预约,我们取两者最大值作为最大总预约时间,即a[i][0]=max(a[i-1][0],a[i-1][1])..
2020-12-15 15:09:58
115
1
原创 leetcode54.数的全排列
此题可用回溯法求解,对每次移动时,都有当前路径和选择列表,在走到决策树底层时,返回上层并撤销上层做出的选择。class Solution { List<List<Integer>> res = new LinkedList<>(); public List<List<Integer>> prenum(int[] nums) { if(nums.length==0){ return r.
2020-12-03 16:12:36
144
2
原创 leetcode第三题 求字符串最长不重复子串
这道题可以用哈希表+滑动窗口来解思路:首先记录初始窗口为前两个字符,并用哈希表记录。当字符串中没有哈希表中记录的字符时,右窗口扩大,继续比较,当哈希表中已经有了当前字符时,左窗口缩小,并且把左窗口的字符在哈希表中的记录清零,这里要注意,先清零后缩小窗口。每次在右窗口扩大时,比较并记录当前最大子串长度,直到右窗口到达字符串结尾比较完成,返回最大子串长度。int lengthOfLongestSubstring(char* s) { int* b = (int*)malloc(sizeof(int) .
2020-12-01 14:15:36
178
2
原创 leetcode 34题
暴力解法没啥好说的,暴力就完事了。class Solution { public int[] searchRange(int[] nums, int target) { int []b=new int[2]; int j=0; int i=0; int count=0; for(i=0;i<2;i++){ b[i]=-1; } for(i=0;i<
2020-11-30 11:47:16
150
原创 leetcode第524题
双指针+排序首先对字符串字典中的每个字符串进行排序,这里要用到qsort函数。然后遍历字典,依次拿字典中的字符串和目标字符串s进行比较,这里用到strchr函数,即返回字符串中第一个目标字符的位置,之后对s和字典字符串往后遍历,直到字典字符串全部被比较完,表示符合条件。然后记录此时字典字符串的长度和索引,如果后面还有符合条件且更长的字符串,再更新索引。#include<stdio.h>#include<Windows.h>int compare(char* p, char*
2020-11-29 13:48:24
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人