1.leetCode第三题
需求:
https://leetcode-cn.com/probl...
给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。
输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
function print(s) {
let str = "";
let size = 0;
for (let i = 0; i < s.length; i++) {
if (str.includes(s[i])) {
//拼接字符串的过程中将原来的str置空 然后再重新累加
str = str.substr(i + 1);
} else {
str += s[i];
//计算size的最大值
size = size < str.length ? str.length : size;
}
}
return size;
}
2.leetCode第四题
需求:
https://leetcode-cn.com/probl...
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
示例 1:
输入:nums1 = [1,3], nums2 = [2]
输出:2
解释:合并数组 = [1,2,3] ,中位数 2
输入:nums1 = [1,2], nums2 = [3,4]
输出:2.5
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5
示例 3:
输入:nums1 = [0,0], nums2 = [0,0]
输出:0
示例 4:
输入:nums1 = [], nums2 = [1]
输出:1
示例 5:
输入:nums1 = [2], nums2 = []
输出:2
function print(nums1, nums2) {
let m = nums1.length - 1;
let n = nums2.length - 1;
let k = end = m + n + 1;
while (m >= 0 && n >= 0) {
if (nums1[m] <= nums2[n]) {
nums1[k] = nums2[n];
n--;
k--;
} else {
nums1[k] = nums1[m];
m--;
k--;
}
}
while (n >= 0) {
nums1[k] = nums2[n];
k--;
n--;
}
//以上是合并两个有序数组 nums1为合并之后的
//用来判断是否是一个整数
let middleStr = (end / 2).toString();
let middleIndex = Math.floor(end/ 2);
//如果是小数例如[1,2,3,4] end=3/2=1.5
if (middleStr.includes(".")) {
// (2 + 3) /2=2.5
return (nums1[middleIndex] + nums1[middleIndex + 1]) / 2;
} else {
//[1,2,3] middleStr为2/2=1 打印为2
return nums1[middleStr] / 1;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。