问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA 实现算法

发布网友 发布时间:2022-04-22 23:07

我来回答

5个回答

热心网友 时间:2023-09-26 17:16

稍微写了下,供你参考,见笑了。

public int getIntegerComplement(int N){
  int inversion=0;
  String binaryString=Integer.toBinaryString(N);
  char[] charArray=binaryString.toCharArray();
  StringBuffer sb=new StringBuffer();
  for(int i=0;i<charArray.length;i++){
   switch (charArray[i]) {
   case '0':
    sb.append("1");
    break;
   case '1':
    sb.append("0");
    break;
   default:
    System.out.println("error happens");
    break;
   }
  }
  String stringAfterInversion=sb.toString();
  System.out.println("stringAfterInversion:"+stringAfterInversion);
  inversion=Integer.parseInt(stringAfterInversion, 2);
  System.out.println("inversion value is:"+inversion);
  return inversion;
  
 }

热心网友 时间:2023-09-26 17:16

Integer.toBinaryString(i);

将十进制的数转化为二进制 得到一个string类型

然后在遍历这个数组 将0变成1 1变成0即可

Integer.parseInt(str, 10)可以把二进制转化为十进制

热心网友 时间:2023-09-26 17:17

编码是不能用字符串的,大大大降低速度

public class Test{
static public int getIntegerComplement(int n){
return ~n&((1<<(32-Integer.numberOfLeadingZeros(n)))-1);
}
public static void main(String[] args){
int a[]={1,5,50,256,65536};
for(int i:a){
int r=getIntegerComplement(i);
System.out.println(i+" "+Integer.toBinaryString(i)+
" => "+r+" "+Integer.toBinaryString(r));
}
}
}
========
1 1 => 0 0
5 101 => 2 10
50 110010 => 13 1101
256 100000000 => 255 11111111
65536 10000000000000000 => 65535 1111111111111111

热心网友 时间:2023-09-26 17:18

public class Convert {
public static void main(String[] args) {
for (int N = 0; N <= 10; N++) {
int value = getIntegerComplement(N);
System.out.print(N + "(" + toBinaryString(N) + ") -> ");
System.out.println(value + "(" + toBinaryString(value) + ")");
}
}
public static int getIntegerComplement(int n) {
int len = toBinaryString(n).length();
return Integer.parseInt(toBinaryString(~n).substring(32 - len), 2);
}
public static String toBinaryString(int n) {
return Integer.toBinaryString(n);
}
}

热心网友 时间:2023-09-26 17:18

推推,有人答了
java中使用国密SM4算法详解

Java中利用SM4国密算法的详细操作在探讨了加密算法的基本类型及其区别后,我们将通过Java实现SM4算法,这是一种用于无线局域网分组数据的标准加密技术,其特点是采用对称加密,密钥和分组长度均为128位。在实际项目中,我们通常可以选择直接使用第三方工具包如hutool来简化操作。以下是使用步骤:首先,在Maven项...

(RR算法)时间片轮转算法-Java实现

RR算法在实际应用中被广泛使用,尤其在需要处理大量并发任务的场景中。它的实现通常需要考虑任务的到达时间、优先级、执行时间等多种因素。在Java中实现RR算法时,开发者通常会使用队列数据结构来维护进程的执行顺序,并通过循环调度机制来控制每个进程的时间片执行。下面是使用Java实现时间片轮转算法的示例代码...

Java用递归实现3.根据规律写出计算算法:1、7、8、15、23、38、61...

具体实现代码如下:在上面的代码中,我们定义了一个getNumber方法,该方法接受一个整数n作为参数,返回数列中第n位的值。在该方法中,我们使用了递归算法,把求第n位的值转化为了求第n-1位和第n-2位的和。其中,第一项的值为1,第二项的值为7。通过递归调用,我们最终可以得到数列中任意一项的值...

面试官问:什么是雪花算法?啥原理?附Java实现!

SnowFlake算法,源于Twitter的开源分布式ID生成方案,其核心是利用64位long型数字作为全球唯一的标识符。这个算法在分布式系统中广受欢迎,特别之处在于它结合了时间戳,确保ID的自增特性。具体来说,64位中,1位用于保留,41位表示毫秒时间,10位代表工作机器ID,12位作为序列号。举例来说,64位长数中,...

java算法是什么意思?

Java算法是一种用于解决问题的计算机程序,通过描述有限的步骤,将输入转换为所需的输出。它们使用数据结构和方法来操作这些数据结构,以在有限的时间内解决问题。Java算法被广泛应用于各种领域,如金融、人工智能、网络和数据库等。Java算法具有很多优点,如可靠性、可扩展性和可维护性。它们可以解决许多计算...

java实现几种常见排序算法

下面给你介绍四种常用排序算法:1、冒泡排序 特点:效率低,实现简单 思想(从小到大排):每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往前排。2、选择排序 特点:效率低,容易实现。思想:每一趟从待排序序列...

排列组合算法java排列组合算法

排列组合算法java,排列组合算法很多朋友还不知道,现在让我们一起看看吧!1、排列有两种定义,但计算方法只有一种,凡是符合这两种定义的都用这种方法计算。2、定义的前提条件是m≦n,m与n均为自然数。3、从n个不同元素中,任取m个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的...

题目1:一个简单的算法演示程序(JAVA语言实现)

1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程。2. 可以进行手动演示,也可以自动步进式演示。3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。4. 不同的算法输入要求见下。界面要求:1. 尽量使用图形界面实现,要符合日常软件使用规范来设计...

用java单链表实现一元多项式相加的算法?

public class Test { public static void main(String[] args) {try{LinkList list1 = new LinkList();LinkList list2 = new LinkList();LinkList list3 = null;list1.addAt(0, new Item(1, 5));list1.addAt(1, new Item(-1.5, 3));list1.addAt(2, new Item(1, 1));list...

java实现以下算法:有6个数组a,b,c,d,e,f,从每个数组中取出一个数值,按...

public static void sort(int[][] root, int[] number){ int[] result = new int[number.length];for(int i =0;i&lt;number.length;i++){ result[i] = root[i][number[i]];} for(int i =0;i&lt;result.length;i++){ for(int j= i;j&lt;result.length-1;j++){ if(result[j]&gt;...

排序算法java实现 算法实现 java递归算法经典实例 Java排序算法 A*算法 java的算法有哪些 java中递归算法 java一些必会算法 java中的算法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小牛惠普贷款是骗人的吗? 小牛惠普贷款会骗人的吗? 小牛惠普淘宝贷需要什么手续 别人用小牛惠普贷款,申请表联系人写的我名字和手机号,有我事不_百度知... 女孩初潮年龄一般多大正常 对前一个问题的补充:没有房本的房子怎么买 有买卖合同没房本的房子可以买卖吗 成都哪里做儿童牙齿矫正好 在武汉哪里可以做儿童牙齿矫? 成都儿童矫正牙齿哪里好? 什么是工程总承包企业 成都景点排名 java中哪些可以涉及算法 “工程总承包”与“工程总承包”有什么区别? java 初级、中级、高级工程师有什么区别? 工程总承包的方式有哪些 《安全生产事故报告调查条例》中报告主体如何界定,工程总承包安全事故是建设方、总包方、分包方那个报? 成都景区排名是怎样的? 研究报告公司与调查报告公司有哪些,实力怎样? EPC工程总承包项目管理模式的现状分析和对策研究 java 初级、中级、高级工程师等 如何区分? 求成都景点排名,有哪些值得去? java如何计算比较复杂的数学计算,比如有括号同时有+-*&#47;,顺序不一定,就是一个运算公式 成都十大旅游景点排行榜,你想去哪个 java算法面试题:排序都有哪几种方法 小白该如何学习java算法? java程序员需要非常精通算法吗? java大数据颇有难度算法 JAVA算法 java中的算法,一共有多少种,哪几种,怎么分类。 EPC总承包项目全过程风险管理分析 工程总承包与施工总承包有什么区别? 谁能给出建筑业-土木工程建筑业行业分析报告,做资料要参考一下 设计-施工总承包与工程总承包的区别? 怎么才能把10分钟的长视频发送给微信好友?急!!! 工程总承包和施工总承包区别,通俗一点,定义不太明白。谢谢 工程总承包和工程项目管理业务有什么区别?为什么不能同时承担?还有为什么不能同时承担勘察、设计业务? 什么是建筑工程的总承包 工程项目管理和工程总承包的区别? 建设工程项目总承包和施工总承包的区别 “EPC”和“工程总承包”的区别是什么? 张家界莓茶哪里正宗? 湘西莓茶的功效与作用是什么? 张家界莓茶的功效与作用分别是什么? 这是什么茶? 张家界土家莓茶有哪些作用? 张家界土特产有哪些 张家界莓茶的功效与作用分别是? 莓茶是什么? 椰子鞋带系法是什么?