首页 > 代码库 > 腾讯笔试题,木棍组成多边形判断
腾讯笔试题,木棍组成多边形判断
1 package com.qyz.test; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.List; 6 import java.util.Scanner; 7 8 public class Solution { 9 10 public static void main(String[] args) {11 12 Scanner s = new Scanner(System.in);13 14 int n = s.nextInt();15 16 List<Integer> ls = new ArrayList<Integer>();17 18 while(n-- > 0){19 //表示操作类型20 int o = s.nextInt();21 //木棍长度22 int l = s.nextInt();23 //根据操作对集合增删24 if(o == 1)25 ls.add(l);26 else if(o == 2)27 //注意,remove有两种实现,一种是删除指定位置,一种是删除第一次出现的元素28 ls.remove(new Integer(l));29 else{30 System.out.println("ERR!!!");31 break;32 }33 int len = ls.size();34 //集合长度小于3不能构成多边形35 if(len < 3){36 System.out.println("No");37 continue;38 }39 //对集合进行排序,升序40 Collections.sort(ls);41 int sum = 0;42 //计算除最后一个元素(最大元素)的和43 for(int i = 0;i < len - 1;i++)44 sum += ls.get(i);45 46 if(sum <= ls.get(len-1))47 System.out.println("No");48 else49 System.out.println("Yes");50 }51 s.close();52 53 }54 55 }
该题组要在于对多边形的长度判断,其实很简单,只要有三条线段及以上,且最大边长度小于其余各边的长度和,就可以构成多边形了,添加进list,然后排个序,就可以判断了。
腾讯笔试题,木棍组成多边形判断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。