Friday, January 14, 2022

Microsoft online assessment: 1point3acres.com

Jan. 14, 2022

Introduction

I did have over two weeks to prepare Microsoft online assessment, but I did not work on too much on algorithms. Last two days I spent a few hours to go over past algorithms and had a short study. 

My study | Warmup my coding skills 

I chose to work on past algorithms, so that I can quickly find my weakness and then evaluate how good I can perform. I have not worked on the website long time, here is the link. 

 1. 给一个数组, 如果这个数组每个数都能找到一个相同的数配对, 则true, 反之false

2 Debug, 有一个find_min的方法能返回数组中最小的数字, 但是这个方法有错误, 让你写一个方法返回长度为N的数组, 并且使得find_min始终返回错误的最?


Q1 判断array里的数是否全都能配对成双, 例如[1, 1, 2, 2]可以配对成11和22, return true. [1, 1, 2] returnfalse.

解法建一个Hashset用来查重, 没见过就加进Hashset, Hashset有了就删掉, 最后看Hashset是否为空. 

Q2给了一个有bug的函数find_min(从数组中找最小值的), min=0, 然后从index=1到length, update min比较min=Mathmin(minarray). 需要写一个method return一个反例, 然后call函数find_min得到的结果是错误.

解法 返回一个全部是正数的数组, min=0不会更新, 数组里的最小值大于0, 所以min是错的. 

Q3 input是string, 需要把它拆开, 让每一个subst‍‌‍‍R ...

用来查重, 初始化一个count=1, 遇到重复的就代表可以切开count++, 切完后resetHashSet, 重复操作到遍历整个string, 最后return count

兩題75分鐘

第一題debug

一個sizeN的不遞減數列 內含數字1-K每個數字至少要出現過一次

題目給的function有錯 最多改兩行的情況下如何讓該function執行出正常結果

第二題

給兩個字串 組成為英文或數字若遇到數字n則表示會...

--

给一个String里面是大小写字母Balance的定义是在一个substring里一个字母它的大写和小写都存在这样的叫balance问最短的balance是多少题目描述中特意写了注重correctness不用考虑性能

--

把string分割成substr

https://www.geeksforgeeks.org/smallest-substring-with-each-letter-occurring-both-in-uppercase-and-lowercase/

60 分钟三道题OA

题目都比较简单

第一道是给你一个数组, 问你是不是每个数字都能找到另一个相同的数字组成一对. 比如[1, 2. 2. 1]则return true, 因为可以组成[1, 1], [2, 2], [7, 7, 7]则return false, 因为组成[7, 7]后还剩一个7不能找到与其配对的数字. 解法楼主用的HashSet, 过一遍数组, 如果不在set里就加进去, 已经在set里就删掉. 最后判断set的size是不是0.

第二道是找bug. 给你一段代码, 让你找其中的bug, 并写出一个反例. 题目给你的是一个找数组最小值的函数. 楼主发现有两个bug, 第一个是他是从第二个数开始比的, 也就是说如果最小值是数组的第一个数就会出错. 第二个bug是他最开始是跟0比的, 如果数组最小数是大于0的, 他返回的也会是0.

第三道题是给你一个string, 问你string最少可以拆分成多少个不含重复字符的substring. 比如"abcdabc"->["abcd", "abc"]最少两个. 楼主用hashset做的, 用set记录下目前substring的char, 然后如果有重复的就result+1, 然后重置set

1647Minimum Deletions to Make Character Frequencies Unique

Follow up on Jan. 16, 2022

Leetcode 1822, 1448, 257

My warmup practice | two algorithm update 

I wrote a warmup practice solution better than my last practice, 257Binary Tree Paths, here is the link. I had chance to warmup DFS algorithm and backtracking using 257. 

1647Minimum Deletions to Make Character Frequencies Unique, here is the link. 



No comments:

Post a Comment