草庐IT

整数二分

全部标签

java - 如何在 Java 中删除整数数组?

假设我有一个数字N。N将是数组的大小。intnumArray[]=newnumArray[N];但是,数组的内容将包含从1到正N的每隔一个数字。这意味着整个大小为N的数组在for循环之后不会填满。所以在for循环之后,我想修剪(或调整)数组,以便数组中不再有任何空槽。示例:假设N=5;这意味着,在for循环之后,从1到5的每隔一个数字将在数组中,如下所示:intarr[]=newint[N];intarr[0]=1;intarr[1]=3;intarr[2]=null;intarr[3]=null;intarr[4]=null;现在,我想在for循环之后修剪(或调整大小),以便保存nu

java - 对于 N 个大小相等且整数按升序排列的数组,如何选择数组共有的数字?

我今天在接受采访时被问到一个算法问题,我很想听取SO成员的意见。问题如下;给定大小相等且整数按升序排列的N个数组,您将如何选择所有N个数组共有的数字。起初我的想法是迭代从第一个数组开始的元素,逐渐向下到其余数组。但如果我是对的,那将导致N次N次迭代。所以我想出了一个解决方案,通过将元素作为键并将值作为计数器来将计数添加到map中。这样我相信时间复杂度仅为N。以下是我的方法在Java中的实现publicstaticvoidmain(String[]args){int[]arr1={1,4,6,8,11,15};int[]arr2={3,4,6,9,10,16};int[]arr3={1,

java - 要洗牌的键值(整数,字符串)列表的最佳结构

我需要在Java中实现一个结构,它是一个键值列表(类型为Integer-String),我想对其进行洗牌。基本上,我想做那样的事情。publicLinkedHashMapgetQuestionOptionsMap(){LinkedHashMapshuffle=newLinkedHashMap();if(answer1!=null)shuffle.put(newInteger(1),answer1);if(answer2!=null)shuffle.put(newInteger(2),answer2);if(answer3!=null)shuffle.put(newInteger(3),

Java:从文件中读取整数数组

假设我有一个名为"input.txt"的文件,里面有一堆正整数:6568624等等....(每行一个整数)我想读取这个文件并把它做成一个数组。第一个整数(在本例中为6)表示数组中索引或元素的数量,因此有6个点。其他数字从0开始填充数组。因此,在索引0处,数字为5,在索引1处,数字为6,依此类推。谁能告诉我如何读取这个文件并将其放入一个名为A的数组并将每个索引中的整数返回为n?这是我目前所拥有的:importjava.io.*;publicclassinputFile{publicstaticjobScheduleRecursive(int[]A,inti){try{FileReader

java - 为什么 Java 库更多地使用常量整数而不是枚举?

我不确定这是否是一个明确的声明,但在我看来,JavaAPI更喜欢常量整数而不是枚举。在我使用过的API部分,我遇到了许多finalstaticint常量,其中可以使用enum代替。曾经我此刻正盯着的这样一个例子:来自java.awt.BasicStroke:publicfinalstaticintCAP_BUTT=0;publicfinalstaticintCAP_ROUND=1;publicfinalstaticintCAP_SQUARE=2;事实上,我认为我从未见过在标准JavaAPI类中使用过枚举。这是为什么?我正在为我自己的应用程序设计一个API(大约比JavaAPI小10亿倍

java - 如何在 Java 中交换两位整数?

Java中是否有内置函数可用于交换两位?例如:____1__0位3与位0交换并变为____0__1我知道这可以使用一个长的按位操作过程来完成,但我想避免这样做。 最佳答案 你也可以这样试试//positionsareindexedfrom0andinorder...[4][3][2][1][0]//sochanging3and0willmake...[4][0][2][1][3]publicstaticintswapBits(intn,intpos1,intpos2){intbit1=(n>>pos1)&1;//bitatpos1i

java - 如何从文本文件中读取整数值

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Java:Readingintegersfromafileintoanarray我想从文本文件(例如contactids.txt)中读取整数值。在文件中我有类似的值12345345677823423423434234324234我想从文本文件中读取它们...请帮忙

Java - 装箱整数 - 为什么它返回 true 如果应该返回 false

我正在比较两段代码Integerx=newInteger(0),y;y=x;x+=0;System.out.println(x==y);//printsfalse和Integerx=0,y;y=x;x+=0;System.out.println(x==y);//printstrue不应该都返回false吗?它不是原始变量,并且在第二个代码中以某种方式即使在添加零之后,它也会打印true。我知道装箱(对于从-128到127的整数),但为什么装箱在第二段代码而不是第一段代码中起作用? 最佳答案 Shouldn'tbothreturnfa

java - 比较 ArrayList 问题中的新整数对象

我正在存储代表我要跟踪的对象索引的整数对象。稍后在我的代码中,我想检查特定对象的索引是否对应于我之前存储的那些整数之一。我通过创建一个ArrayList并从for循环的索引创建一个新的Integer来做到这一点:ArrayListcourseselectItems=newArrayList();//FindthecourseelementsthatarewithinacourseselectelementandaddtheirindiciestotheArrayListfor(inti=0;i然后我想稍后检查ArrayList是否包含特定索引://Cyclethroughthename

java - 比较整数对象与 int

我通过在下面将Integer更改为int来修复无限循环:publicclassIntTest{publicstaticvoidmain(String[]args){Integerx=-1;Integertotal=1000;while(x!=total){System.out.println("x="+x+"total="+total);x++;}}}这样做的正确原因是什么?我认为Integer比较没问题。谢谢。 最佳答案 因为当您对对象进行!=比较时,它会比较引用。并且一般情况下两个对象之间的引用是不同的。当你比较整数时,它总是比