Leetcode部分题目整理(Javascript)
3.无重复字符的最长子串
/**
* @param {string} s
* @return {number}
*/
var lengthOfLongestSubstring = function(s) {
var ans = [], vis = [], max = 0;
for(var i = 0; i < 256; i++){
vis.push(-1);
}
for(var i = 0; i < s.length; i++){
var t = s[i].charCodeAt() - 0;
if(vis[t] == -1){
vis[t] = i;
ans.push(s[i]);
if(ans.length > max){
max = ans.length;
}
}
else{
var pos = ans.indexOf(s[i]);
for(var j = pos - 1; j >= 0; j--){
vis[ans[j].charCodeAt() - 0] = -1;
}
ans = ans.slice(pos + 1);
ans.push(s[i]);
vis[t] = i;
}
}
return max;
};
4. 寻找两个有序数组的中位数
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number}
*/
var findMedianSortedArrays = function(nums1, nums2) {
if(nums1.length > nums2.length){
var t = nums1;
nums1 = nums2;
nums2 = t;
}
var len = nums1.length + nums2.length;
function find(k,nums1,nums2){
var ans = null;
while(ans === null){
if(k % 2 == 1){
x = Math.floor(k / 2);
if(x == 0)
x = 1;
}else{
x = k / 2;
}
var flag = false;
var temp = [];
if(nums1.length == 0 && nums2.length != 0){
temp = nums2.slice(0,k);
k = 0;
}else if(nums2.length == 0){
temp = nums1.slice(0,k);
k = 0;
}else if(nums1.length < x){
if(nums1[nums1.length - 1] < nums2[x - 1]){
k -= nums1.length;
temp = nums1.slice();
nums1 = [];
}else{
k -= x;
temp = nums2.slice(0,x);
nums2 = nums2.slice(x);
}
}else{
k -= x;
if(nums1[x - 1] < nums2[x - 1]){
temp = nums1.slice(0,x);
nums1 = nums1.slice(x);
}else{
temp = nums2.slice(0,x);
nums2 = nums2.slice(x);
}
}
if(!k){
ans = temp[temp.length - 1];
}
}
return ans;
}
if(len % 2){
return find((len + 1) / 2,nums1,nums2);
}else{
return (function(){
var x1 = nums1.slice(),x2 = nums2.slice();
var sum = find(len / 2,nums1,nums2);
nums1 = x1;
nums2 = x2;
sum += find((len / 2 + 1),nums1,nums2);
return sum / 2;
})();
}
};
Leetcode部分题目整理(Javascript)的更多相关文章
- Noip往年题目整理
Noip往年题目整理 张炳琪 一.历年题目 按时间倒序排序 年份 T1知识点 T2知识点 T3知识点 得分 总体 2016day1 模拟 Lca,树上差分 期望dp 144 挺难的一套题目,偏思维难度 ...
- LeetCode高频题目(100)汇总-Java实现
LeetCode高频题目(100)汇总-Java实现 LeetCode高频题目(100)汇总-Java实现 目录 第01-50题 [Leetcode-easy-1] Two Sum [Le ...
- LeetCode算法题目解答汇总(转自四火的唠叨)
LeetCode算法题目解答汇总 本文转自<四火的唠叨> 只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少.我的初衷就是练习, ...
- LeetCode SQL题目(第一弹)
LeetCode SQL题目 注意:Leetcode上的SQL编程题都提供了数据表的架构程序,只需要将它贴入本地数据库即可调试自己编写的程序 不管是MS-SQL Server还是MySQL都需要登陆才 ...
- LeetCode题库整理(自学整理)
1. Two Sum 两数之和 来源:力扣(LeetCode) 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利 ...
- NOIp初赛题目整理
NOIp初赛题目整理 这个 blog 用来整理扶苏准备第一轮 csp 时所做的与 csp 没 有 关 系 的历年 noip-J/S 初赛题目,记录了一些我从不知道的细碎知识点,还有一些憨憨题目,不定期 ...
- leetcode二叉树题目总结
leetcode二叉树题目总结 题目链接:https://leetcode-cn.com/leetbook/detail/data-structure-binary-tree/ 前序遍历(NLR) p ...
- Leetcode 题目整理 climbing stairs
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...
- Leetcode 题目整理-3 Palindrome Number & Roman to Integer
9. Palindrome Number Determine whether an integer is a palindrome. Do this without extra space. clic ...
随机推荐
- 记搜狗一次不成功的Python后端面试经历
面试搜狗Python后端结束快一个月了,终于有时间来做一个简单的总结了. 简介:工作不久,基础后端岗位,一面结束,失败. 先做了几个笔试题,面试开始会根据笔试题问一些内容.下面将整理一下还能想起来的内 ...
- 关于BIOS系统的认识和学习(源自摘录)
BIOS系统的介绍与学习 BIOS (basic input output system 即基本输入输出系统)在计算机系统中起着非常重要的作用,其是计算机系统最底层的设置, BIOS设置程序是被固化到 ...
- 牛客 197E 01串
大意: 给定01串, 单点修改, 询问给定区间$[l,r]$, 假设$[l,r]$从左往右得到的二进制数为$x$, 每次操作增加或减少2的幂, 求最少操作数使得$x$为0. 线段树维护2*2矩阵表示低 ...
- 通过ADB调试安卓程序
ADB,即 Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具. 1.下载ADB后,将以下四个文件放到某个文件夹下即可.因为打开Cmd默认路径是 C:\Use ...
- 沿路径动画(Animation Along a Path)
Silverlight 提供一个好的动画基础,但缺少一种方便的方法沿任意几何路径对象进行动画处理.在Windows Presentation Foundation中提供了动画处理类DoubleAnim ...
- C# 使用Emit实现动态AOP框架 (一)
目 录 C# 使用Emit实现动态AOP框架 (一) C# 使用Emit实现动态AOP框架 (二) C# 使用Emit实现动态AOP框架 (三) C# 使用Emit实现动态AOP框架 进阶篇之异常处 ...
- Spark面试知识点-SparkSQL(1)
0.介绍: (1)Spark SQL的前身是Shark,即Hive on Spark, 1.SparkSQL特点: (1)支持多种数据源:Hive,RDD,Parquet,JSON,JDBC等. (2 ...
- react hooks学习
接触React项目快两个月了,还在研究摸索各种知识点的过程中,充实且幸福. 在项目中学习新知识,还是很有效率的,一边写项目,一边实验新的知识点,比如react hooks!嘻嘻嘻~~~ 写了好一段时间 ...
- PHP转码函数mb_convert_encoding() 和iconv()
注意:函数mb_convert_encoding的执行效率比iconv差,且需开启php的mbstring扩展. 一般情况下使用iconv,但此函数在碰到无法转码字符会丢弃,此种情况下可以用mb_co ...
- Spring源码解析 - springMVC核心代码
一.首先来讲解下springMVC的底层工作流程 1.首先我们重点放在前端控制器(DispatcherServlet) 其类图: 因为从流程图看,用户的请求最先到达就是DispatcherServle ...