MyException - 我的异常网
当前位置:我的异常网» J2SE » 刚刚讯雷的一个笔试题,该如何解决

刚刚讯雷的一个笔试题,该如何解决

www.MyException.Cn  网友分享于:2013-03-07  浏览:15次
刚刚讯雷的一个笔试题
一共五题,就说有意思的这一题
题目大概是:有数组int []d={1,2,-5,6,等等};
删除其中等于10的元素并返回删除的个数,要求时间和空间做优化,要先想思路
题目是c的,其实用java也一样

数组中,删除一个数则会令删除这个数后面的数都向前移,如果有10W个数,则要移10W-1,如果我们减少移动的次数,或者只移一个数,那么效率将会得到提高
我的做法是设定查找的左右界限
int l=0,r=数组长度-1;
int count;//删除的个数
while(l<r){
  while(l<r&&d[r]==10){
  r--;
  count++;
  }
  while(l<r&&d[l]!=10)l++;
  if(l<r){
  d[l]^=d[r];//交换值
  d[r]^=d[l];
  d[l]^=d[r];
  l++;r--;count++;
  }
}
return count;
不知道还有什么更好的方法

机试悲剧呀,忘记二个函数了,又上不了网查~
哎,让我明天等通知,然后又加上一句,如果没通知不要来。桌子上呀,都是杯子呀~~~
找工作,应届生,在深圳南山,先做实习生也行,攒钱买电脑了
【工作经历详细介绍】
以下是学校做过的一些主要项目开发:
猜数字游戏(C)模猜数字游戏的各个功能实现。
迷宫游戏(C)迷宫的随机生成和最佳路径的寻找
通讯录(vc6.0+access)和(java+mysql)仿QQ通讯录,联系人添加,修改,删除,消息的收发。
计算器(HTML javascript),模拟计算器组合要给你实现。
俄罗斯方块(java),实现俄罗斯方块各种功能,支持扩展高级功能。
即时聊天工具(java)仿QQ,Socket,多线程技术,p2p。
mp3播放器(java 非jmf)仿千千静听,解析和使用千千静听皮肤,实现在线查找和下载mp3。
数学公式分析器(java netbean)高级科学计算表达式的计算,纠正大部分表达式。
企业员工资料管理系统(java netbean,ms sql2000)对员工信息及工资的添加、删除、修改、查询。
基于B2B的网上批发交易系统(asp.net C# + sql server),主要实现发布出售或收购商品信息,可以展显商品;通过该系统以方便、有效的进行批发物品的交易等的管理。
在线音乐网(asp.net C# + sql server 2k)实现文件的上传,媒体的播放,商品的卖出,网站和数据库管理方便。
B2B在线交易批发网(毕设asp.net C# + sql server 2k)兼容b2c,c2c,可以实现在线商品的交易和讯息的发布。
在线聊天室(JAVA),主要实现在线聊天功能,主要运用Socket,多线程技术,自定义聊天室通讯协议。
QQ找茬测试版(JAVA,jni,屏幕截图),主要完成了自动找茬功能。 
【技能专长】
1.精通java以及SQL SERVER数据库,熟悉c++,html,asp.net等编程语言
2.熟练掌握应用powerdesigne ,netbeans,Visual Studio 2008,Dreamweaver等工具
3.了解Thread、Socket、JDBC等J2EE核心技术
4.熟悉AWT,Swing等包的使用
5.较强的逻辑和分析能力

------解决方案--------------------
你那样效率不高呀,
可不可以用改进和二分法来实现,并记下删除的次数
------解决方案--------------------
探讨
一共五题,就说有意思的这一题
题目大概是:有数组int []d={1,2,-5,6,等等};
删除其中等于10的元素并返回删除的个数,要求时间和空间做优化,要先想思路
题目是c的,其实用java也一样

数组中,删除一个数则会令删除这个数后面的数都向前移,如果有10W个数,则要移10W-1,如果我们减少移动的次数,或者只移一个数,那么效率将会得到提高
我的做法是设定查找的左右界限
i……

------解决方案--------------------
这么。
------解决方案--------------------
不错的,
------解决方案--------------------
Java code
    public static void main(String[] args) {
        int [] a={2,1,2,-5,6,10,34,9,10,10,33};
        int count=0;
        ArrayList<Integer> my=new ArrayList<Integer> ()    ;
        for (int i = 0; i <a.length; i++) {
            my.add(a[i]);
        }        
        while((boolean) my.remove((Object)10)){
            count++;            
        }
        System.out.println(count);
    }

------解决方案--------------------
C/C++ code

#include <stdio.h>

int main(int argc, char *argv[])
{
    int a[]={2,1,2,-5,6,10,34,9,10,10,33};
    int count = 0;

    int b = sizeof(a)/sizeof(int);
    int *p = a;
    int *pp = &a[b];
    
    int i = 0;

    while(i < b)
    {
        if (a[i] == 10)
        {
            a[i] = *p;
            p++;
            count++;
        }
        i++;
    }
    
    printf("count:%d\n", count);

    while(p < pp)
    {
        printf("%d ", *p);
        p++;
    }    

    return 0;
}

------解决方案--------------------
C/C++ code

int TrimNum(int arr[], int len, int num)
{
    int total = 0, index = 0;
    
    while (index < len)
    {
        if (arr[index] == num)
        {
            totoal++;
            continue;
        }

        if (total > 0)
            arr[index - total] = arr[index];
        index++;
    }
    return total;
}

文章评论

我的丈夫是个程序员
我的丈夫是个程序员
中美印日四国程序员比较
中美印日四国程序员比较
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
每天工作4小时的程序员
每天工作4小时的程序员
程序员应该关注的一些事儿
程序员应该关注的一些事儿
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
10个调试和排错的小建议
10个调试和排错的小建议
总结2014中国互联网十大段子
总结2014中国互联网十大段子
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
鲜为人知的编程真相
鲜为人知的编程真相
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员必看的十大电影
程序员必看的十大电影
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员都该阅读的书
程序员都该阅读的书
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
代码女神横空出世
代码女神横空出世
一个程序员的时间管理
一个程序员的时间管理
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
那些争议最大的编程观点
那些争议最大的编程观点
我是如何打败拖延症的
我是如何打败拖延症的
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Java程序员必看电影
Java程序员必看电影
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
如何成为一名黑客
如何成为一名黑客
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员的鄙视链
程序员的鄙视链
漫画:程序员的工作
漫画:程序员的工作
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员和编码员之间的区别
程序员和编码员之间的区别
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
 程序员的样子
程序员的样子
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
老程序员的下场
老程序员的下场
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有