虹软笔试记录

有选择、编程、简答
---------------------------------------------------------------------------
两道编程题,难度不大,分别是:

有三种颜色小球,数量分别为r、g、b,让其排成一列,但相邻两个小球不能同颜色。请问有多少排列方法

字符串S只包含A、B,若S满足以下条件则S为有序字符串:设X为S中A索引的集合,Y为S中B索引的集合,X与Y存在双射f,所有i属于X有f(i)>i. 给定有序字符串S,按照下属规则计算分数:1.AB分数=1,2.XY的分数=X分数+Y分数,3.AXB的分数=2*X的分数。例如输入AABAABBB,输出6
---------------------------------------------------------------------------
记录简答题:

假设img是一张宽为M,高为N的黑白图像。每个元素是0或1,其中0表示黑,1表示白。要在该图像中找到一个宽为W高为H的矩形子区域,使得该区域内白色像素数量最多,并计算白色像素数。请你文字描述或写出伪代码,并分析时间复杂度

超像素分割。在一张图像中,不同空间位置的像素点之间存在语义相关性,将这些相同语义的pixel组合成一个集合,就可以得到一个超像素。现在给出你输入图500*500*3。请你设计一个详细的方案,将图片分解为100个子语义区域。
----------------------------------------------------------------------------
#软件开发笔面经#
全部评论

相关推荐

大致就是完善一个购物车,结算购物车金额的题,极其简单,但是我测试用例只过了50%代码如下,哪个大佬能帮忙看看问题import java.math.BigDecimal;import java.math.RoundingMode;import java.util.*;class Solution {// 购物车集合public Map<Product, Integer> cart;public Solution() {cart = new HashMap<>();}public void addProductToCart(Product product, int quantity) {cart.put(product,cart.getOrDefault(product,0)+quantity);}public void removeProduct(Product product) {cart.remove(product);}public String getTotalAmount() {BigDecimal amount =BigDecimal.ZERO;for (Map.Entry<Product, Integer> entry : cart.entrySet()) {String price = entry.getKey().getPrice();Integer quantity = entry.getValue();BigDecimal priceVal = new BigDecimal(price);BigDecimal temp = priceVal.multiply(new BigDecimal(quantity)).setScale(2,RoundingMode.HALF_UP);amount = amount.add(temp);}String totalamount = String.valueOf(amount);return totalamount;}}class Product {private String id;private String name;private String price;public Product(String id, String name, String price) {this.id = id;this.name = name;this.price = price;}public String getId() {return id;}public String getName() {return name;}public String getPrice() {return price;}public static void main(String[] args) {Product product=new Product("1","测试","2");Product product2=new Product("2","测试","2");Solution solution=new Solution();solution.addProductToCart(product,5);solution.addProductToCart(product,2);solution.addProductToCart(product2,1);System.out.println(solution.cart);System.out.println(solution.getTotalAmount());}}
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务