手写简单的三道算法题

简介: 《基础》

.有一个已经排好序的整数数组,其中存在重复元素,请将重复元素删除掉,例如,A= [1, 1, 2, 2, 3],处理之后的数组应当为A= [1, 2, 3]。


packagecom.bjsxt;

 

importjava.util.Arrays;

 

publicclassRemoveDuplication {

 

   publicstaticint[] removeDuplicates(inta[]) {

        if(a.length <= 1) {

            returna;

        }

        intindex = 0;

        for(inti = 1; i < a.length; i++) {

            if(a[index] != a[i]) {

                a[++index] = a[i];

            }

        }

        int[] b = newint[index + 1];

        System.arraycopy(a, 0, b, 0, b.length);

        returnb;

   }

 

   publicstaticvoidmain(String[] args) {

        int[] a = {11223};

        a = removeDuplicates(a);

        System.out.println(Arrays.toString(a));

   }

}

给一个数组,其中有一个重复元素占半数以上,找出这个元素。


packagecom.bjsxt;

 

publicclassFindMost {

 

   publicstatic<T> T find(T[] x){

      T temp = null;

      for(inti = 0, nTimes = 0; i< x.length;i++) {

          if(nTimes == 0) {

              temp= x[i];

              nTimes= 1;

          }

          else{

              if(x[i].equals(temp)) {

                  nTimes++;

              }

              else{

                  nTimes--;

              }

          }

      }

      returntemp;

   }

 

   publicstaticvoidmain(String[] args) {

      String[]strs = {"hello","kiss","hello","hello","maybe"};

      System.out.println(find(strs));

   }

}


编写一个方法求一个字符串的字节长度?


publicintgetWordCount(String s)

   {

       intlength = 0;

       for(inti = 0; i < s.length(); i++)

       {

           intascii = Character.codePointAt(s, i);

           if(ascii >= 0&& ascii <=255)

               length++;

           else

               length += 2;

 

       }

       returnlength;

   }

相关文章
|
JavaScript 算法
Vue源码之虚拟DOM和diff算法(二) 手写diff算法
Vue源码之虚拟DOM和diff算法(二) 手写diff算法
130 0
|
存储 机器学习/深度学习 资源调度
手写批量线性回归算法:在Python3中梯度下降方法实现模型训练
手写批量线性回归算法:在Python3中梯度下降方法实现模型训练
181 1
手写批量线性回归算法:在Python3中梯度下降方法实现模型训练
|
机器学习/深度学习 存储 算法
Python手写强化学习Q-learning算法玩井字棋
Python手写强化学习Q-learning算法玩井字棋
331 0
Python手写强化学习Q-learning算法玩井字棋
|
算法 数据中心
手写分布式雪花(SnowFlake)算法生成ID
snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。
1175 0
手写分布式雪花(SnowFlake)算法生成ID
【手写算法实现】 之 KNN K近邻算法
【手写算法实现】 之 KNN K近邻算法
【手写算法实现】 之 KNN K近邻算法
字节算法大神手写的算法笔记,曾连续多次霸榜 GitHub Trending 首页
学算法也好,学技术也好,我觉得做任何事情,一定要明白自己的目标是什么。 可以量化的才叫目标 你想变有钱,想学好算法,这就叫无法量化的目标,有多少钱才算有钱,学到什么程度才算学好?量化的一个最大的特点是可以拆分。 比如说目标是进大厂,计划半年内刷300道题,那这可以反向拆分,每个月刷50道,工作日每天刷两道,休息日每天刷一道,再细化,每天几点到几点固定为刷题时间,期间屏蔽所有应用通知,专心做题思考;然后每天反省刷题计划是否达标,如果没达标,是为什么,怎么弥补。 这就是计算机的递归思维,自顶向下,逐步求精,反向求解。 为了让大家更好地学习算法,楼主在这里分享一份字节跳动大神手写的算法笔记
|
算法 Java
[java刷算法]牛客—剑指offer链表复习、手写简易正则匹配
✨今日三剑 JZ17 打印从1到最大的n位数 JZ18 删除链表的节点 JZ19 正则表达式匹配
[java刷算法]牛客—剑指offer链表复习、手写简易正则匹配
|
机器学习/深度学习 人工智能 文字识别
【人工智能】机器学习及与智能数据处理之降维算法PCA及其应用手写字体识别以及【自定义数据集】
利用PCA算法实现手写字体识别,要求: 1、实现手写数字数据集的降维; 2、比较两个模型(64维和10维)的准确率; 3、对两个模型分别进行10次10折交叉验证,绘制评分对比曲线。
468 1
【人工智能】机器学习及与智能数据处理之降维算法PCA及其应用手写字体识别以及【自定义数据集】
|
设计模式 负载均衡 算法
纯手写本地负载均衡器轮训算法 | 学习笔记
快速学习 纯手写本地负载均衡器轮训算法
140 0
|
JavaScript 算法 前端开发
手写一个虚拟DOM库,彻底让你理解diff算法
手写一个虚拟DOM库,彻底让你理解diff算法
253 0
手写一个虚拟DOM库,彻底让你理解diff算法