首页 > 编程语言 >程序员面试金典---24

程序员面试金典---24

时间:2023-05-08 21:14:22浏览次数:33  
标签:24 guess slice ++ 金典 solution --- let array

部分排序

思路:双指针,但是该双指针并不是相互关联的双指针。

/**
 * @param {number[]} array
 * @return {number[]}
 */
var subSort = function(array) {
    if(!array.length){
        return [-1, -1]
    }
    let left = -1
    let right = -1
    let min = Number.MAX_SAFE_INTEGER
    let max = Number.MIN_SAFE_INTEGER
    for(let i = 0; i < array.length; i++){
        if(array[i] >= max){
            max = array[i]
        }else{
            right = i
        }

        if(array[array.length - 1 - i] <= min){
            min = array[array.length - 1 - i]
        }else{
            left = array.length - 1 - i
        }

    }
    return [left, right]
};

珠玑运算

思路:简单模拟

/**
 * @param {string} solution
 * @param {string} guess
 * @return {number[]}
 */
var masterMind = function(solution, guess) {
    let gusTrue =0
    for(let i = 0; i < solution.length; i++){
        if(solution[i] === guess[i]){
            gusTrue ++
            solution = solution.slice(0,i) + solution.slice(i + 1)
            guess = guess.slice(0,i) + guess.slice(i + 1)
            i-- 
        }
    }
    let gusFalse = 0
    for(let i = 0; i < solution.length; i++){
        let index = guess.indexOf(solution[i])
        if(index > -1){
            gusFalse++
            guess = guess.slice(0, index) + guess.slice(index + 1)
        }
    }
    return [gusTrue, gusFalse]
};  

标签:24,guess,slice,++,金典,solution,---,let,array
From: https://www.cnblogs.com/dgqp/p/17383142.html

相关文章

  • 关于使用kubeadm reset命令对kubeadm init与kubeadm join操作后遇到报错的情况-进行恢
    在Kubernetes/k8s集群中,无论是在开始的master节点初始化,还是后面客户端使用kubeadmjoin命令加入到集群可能都会遇到很多报错,对于新手来说、很多还不是很好解决、也有一些情况,是在初始化之前忘记执行一些操作,而导致报错这种一般都需要执行漏掉的操作,重新执行初始化操作,但是如......
  • 【五期邹昱夫】CCF-A(NeurIPS'19)Inverting gradients-how easy is it to break privacy
    "GeipingJ,BauermeisterH,DrögeH,etal.Invertinggradients-howeasyisittobreakprivacyinfederatedlearning?[J].AdvancesinNeuralInformationProcessingSystems,2020,33:16937-16947."  本文发现梯度的方向比其范数幅值携带了更加重要的信息,以......
  • 每周总结5.1-5.7
    23.5.1-23.5.7总结如下,经过短暂的五一假期后,回到学习开始学习,本周进行了web,数据库sqllite以及matlab的学习,也学习了计算机网络及数据库组成原理以及最优化算法中的运筹学知识,在紧张的考试前一个月,能够比较合理的规划和安排复习与软工学习,并抽空进行英语的学习,报名了cet6(捐款)......
  • 【深入浅出 Yarn 架构与实现】6-3 NodeManager 分布式缓存
    不要跳过这部分知识,对了解NodeManager本地目录结构,和熟悉Container启动流程有帮助。一、分布式缓存介绍主要作用就是将用户应用程序执行时,所需的外部文件资源下载缓存到各个节点。YARN分布式缓存工作流程如下:客户端将应用程序所需的文件资源(外部字典、JAR包、二进制......
  • FreeCodeCamp-创建一副毕加索绘画来学习中级 CSS
    index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title>PicassoPainting</title><linkrel="stylesheet"href="./styles.css"/><......
  • websocket多实例推送解决方案-数据实时展示
    需求需要前端展示实时的订单数据信息。如下图所示,实时下单实时页面统计更新展示 思路方案前端使用websocket建立通信  后端监听数据库的binglog变更,实时得到最新数据,推送到前端 现状及问题客户端想实现实时获取数据的变更,使用了websocket+kafkaMq,当......
  • 2023 SMU RoboCom-CAIP 选拔赛
    A.小斧头\(O(N^3)\)20points暴力枚举左右端点,然后暴力求区间最值#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongintread(){...}int32_tmain(){intn=read(),res=0;vector<int>a(n),b(n);for(auto&i:a)i......
  • 2-http协议
    一http协议简介HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于万维网(WWW:WorldWideWeb)服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年......
  • 3-Web框架
    3-Web框架一web框架Web框架(Webframework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快......
  • 1-Web应用
    1-Web应用一Web应用程序是什么Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务......