日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网易笔试——混合颜料

發布時間:2025/7/14 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网易笔试——混合颜料 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你就是一個畫家!你現在想繪制一幅畫,但是你現在沒有足夠顏色的顏料。為了讓問題簡單,我們用正整數表示不同顏色的顏料。你知道這幅畫需要的n種顏色的顏 料,你現在可以去商店購買一些顏料,但是商店不能保證能供應所有顏色的顏料,所以你需要自己混合一些顏料。混合兩種不一樣的顏色A和顏色B顏料可以產生 (A XOR B)這種顏色的顏料(新產生的顏料也可以用作繼續混合產生新的顏色,XOR表示異或操作)。本著勤儉節約的精神,你想購買更少的顏料就滿足要求,所以兼職 程序員的你需要編程來計算出最少需要購買幾種顏色的顏料?

輸入描述:
第一行為繪制這幅畫需要的顏色種數n (1 ≤ n ≤ 50) 第二行為n個數x

i

(1 ≤ x

i

≤ 1,000,000,000),表示需要的各種顏料.
輸出描述:
輸出最少需要在商店購買的顏料顏色種數,注意可能購買的顏色不一定會使用在畫中,只是為了產生新的顏色。
輸入例子:
3 1 7 3
輸出例子:
3

解題思路:

由于a^b=c那么a^c=b,a^a=0,最早的思路是將colors[]數組里的元素及其^的所有可能值全部放到一個Map里,然后找到Map里的最小不相交子集(就是里面的任何一個元素不能由其他元素通過^生成),但是后來發現空間復雜度都在O(Nn)。

后來發現一條規律,就是0001,0010,0100,1000,可以通過^生成任意4位的數字,那么本題的答案不會超過32(int的長度)

再后來想到高斯消元和最小線性無關組就有了自己的思路。首先將數組排序,獲取最高位的1,每次將最高位的1進行^運算,使得數組里面從后往前數最高位每個1只保留一個,最終得到類似于{0,0,00000001,00000011,00011000,00100010}這樣的結構,那么答案就出來了。

Java實現:

package com.tonyluis;import java.util.*;public class NeteaseSolution3 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while (in.hasNext()) {final int SUM = in.nextInt();int[] colors = new int[SUM];for (int i = 0; i < SUM; i++)colors[i] = in.nextInt();Arrays.sort(colors);System.out.println(minColor(colors));}}static int minColor(int[] colors) {int max = 1 << 30;int right = colors.length - 1;while (right >= 0 && colors[right] != 0) {while (max > colors[right])max >>= 1;while (right > 0 && colors[right - 1] >= max) {colors[right - 1] ^= colors[right];insertSort(colors, right - 1);}right--;}return right >= 0 ? colors.length - right - 1 : colors.length;}// 將一個數插入到有序數組中 ArrayList底層使用數組實現,不如直接使用數組// 使用LinkedList可以減少直接插入排序的移位操作static void insertSort(int[] nums, int index) {int temp = nums[index];if (temp <= nums[0]) {for (int i = index; i > 0; i--)nums[i] = nums[i - 1];nums[0] = temp;return;}for (int i = index - 1; i >= 0; i--) {if (temp > nums[i]) {for (int j = index; j > i + 1; j--)nums[j] = nums[j - 1];nums[i + 1] = temp;return;}}} }

?

?



轉載于:https://www.cnblogs.com/tonyluis/p/5774700.html

總結

以上是生活随笔為你收集整理的网易笔试——混合颜料的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色三级生活片 | 亚洲一区播放 | 波多野结av衣东京热无码专区 | 国产精品色图 | 亚洲国产精品成人午夜在线观看 | 蜜臀av免费一区二区三区水牛 | 一级黄网 | 午夜久久网站 | 国产又粗又猛又色 | 欧美一区二区三区网站 | 中文字幕精品一区二区三区视频 | 中国精品毛片 | 亲子乱aⅴ一区二区三区 | 欧美日韩国产一区二区在线观看 | 欧美三级午夜理伦三级中视频 | 福利资源导航 | 成全影视在线观看第8季 | 久久精品国产亚洲av嫖农村妇女 | 国产黄av| 91成人免费电影 | 成人综合区 | 日韩欧美综合在线 | 精品亚洲永久免费 | 手机在线看片日韩 | 国产伦精品一区二区三区四区 | 99久久精品国产色欲 | 在线观看亚洲大片短视频 | 国产日韩欧美日韩大片 | 国产日韩精品一区二区三区在线 | 免费看日产一区二区三区 | 99精品综合 | 99久久一区 | 欧美日韩中文在线观看 | 狠狠人妻久久久久久综合蜜桃 | 性生活视频在线播放 | 麻豆av片| 国产高潮呻吟久久 | 欧美中日韩在线 | 久久久精品麻豆 | 亚洲精品国产精品乱码不99 | 一级黄色视屏 | 久久av色| 日韩视频一区二区三区 | wwxx日本 | 成年人黄色免费视频 | 日韩免费观看 | 一区二区三区四区日韩 | 污污视频在线观看免费 | 久久这里都是精品 | 日本黄色片在线播放 | 国产乱淫av | 一区二区三区网 | 人人爽人人爽人人片 | 做爰视频毛片视频 | 亚洲淫片 | 另类综合小说 | 91插插插插插插插 | 久热av在线 | 黄色网占| 国产欧美日韩专区发布 | 中文字幕欧美另类精品亚洲 | 日韩高清欧美 | 久久久久久91香蕉国产 | 亚洲视频一二三区 | 日韩欧美一区在线观看 | 午夜嘿嘿嘿 | 欧洲成人一区二区三区 | www.黄色在线| 二区三区在线视频 | 国产激情视频一区 | 欧美日韩亚洲精品一区二区 | 久久精彩免费视频 | 六月综合网 | 蜜臀av色欲a片无码精品一区 | 欧美极品喷水 | 视频污在线观看 | 国产又黄又猛视频 | 懂色av蜜臀av粉嫩av分享吧 | 成人高清视频在线观看 | 日b视频在线观看 | 欧美性猛片aaaaaaa做受 | 亚洲成人激情小说 | 一呦二呦三呦精品网站 | 欧洲成人在线视频 | 人人人人爽 | 国产露脸无套对白在线播放 | 亚色综合 | 欧美一级淫片免费 | 一区二区视频免费看 | 亚洲AV成人无码网站天堂久久 | 免费观看一级一片 | 日本熟妇成熟毛茸茸 | 久久一区二区三区四区 | 有码视频在线观看 | 男人的天堂黄色 | 国产一区二区成人 | 人妻丝袜一区二区三区 | 麻豆视频一区二区三区 | 日本成人一二三区 |