精华内容
下载资源
问答
  • 面试编程题

    2014-08-14 22:24:31
    面试编程题
  • 面试编程试题

    2013-10-19 09:54:34
    c语言面试题集锦,面试必备,全是c语言编程题
  • java面试编程题

    2013-03-22 18:29:48
    java面试编程题 里面包括我所收集到的各个公司的面试题,希望对大家有所帮助
  • 公司出的JAVA面试编程题,具有极高的参考实用性,对即将要参加面试的帮助很大
  • java面试编程题和答案

    2013-04-03 15:14:19
    java面试编程题和答案
  • 华为面试编程题整理 都是编程的题。 没有概念的题。
  • C#面试编程题

    2013-05-17 13:01:09
    面试中常见的编程题。 对于基础一般般的同学可以使用的,不难,可以理解。
  • 算法第四版,数据结构,c入门经典,c语言程序设计,企业面试编程题,程序员面试宝典,c primer中文第四版
  • php面试编程题

    2019-03-29 15:17:21
    最近在参加一些面试,总结一些面试题 一 字符串 ‘abbcccddddeef’ 输出成 a1b2c3d4e2f1 字符串计数 我的做法:把字符串用str_split($str,1) 转换成数组 然后键与值互换 array_flip函数 通过两个循环进行字母的...
    最近在参加一些面试,总结一些面试题
    

    题一
    字符串 ‘abbcccddddeef’ 输出成 a1b2c3d4e2f1 字符串计数

    我的做法:把字符串用str_split($str,1) 转换成数组 然后键与值互换 array_flip函数 通过两个循环进行字母的比对记录个数

    $str = 'abbcccddddeef';
    getData($str);
    function getData($str) {
      $arr = str_split($str,1);
      $data = array_flip($arr);
      // print_r($data);
      // die;
      foreach ($data as $k => $v) {
        $data[$k] = 0;
        foreach ($arr as $key => $value) {
          if ($k==$value) {
            $data[$k]++;
          }
        }
      }
      var_dump($data);
    }
    die;
    /*结果:array (size=6)
      'a' => int 1
      'b' => int 2
      'c' => int 3
      'd' => int 4
      'e' => int 2
      'f' => int 1
    */
    

    通过在网上查一些方法的到一个最简便的方法看完这个方法后我发现自己就是个傻子。
    php提供了array_count_values()函数用于统计数组中所有值出现的次数。本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。
    最佳做法:

    $str = 'abbcccddddeef';
    $arr = str_split($str);
    $res = array_count_values($arr);
    var_dump($res);die;
    /*结果:array (size=6)
      'a' => int 1
      'b' => int 2
      'c' => int 3
      'd' => int 4
      'e' => int 2
      'f' => int 1
    */
    

    题二
    二维数组字段的排序 优先id 若id 相同用data排序

    $arr = array(
    array('id'=>1,'data'=>'a'),
    array('id'=>3,'data'=>'c'),
    array('id'=>2,'data'=>'b'),
    array('id'=>2,'data'=>'a')
    );
    
    $id = $data = array();
    foreach($arr as $key => $value){
      $id[$key] = $value['id'];
      $data[$key] = $value['data'];
    }
    array_multisort($id, SORT_ASC, $data, SORT_DESC, $arr);
    print_r($arr);
    die;
    

    题三
    数字字母转换
    1=>A 2=>B 3=>C…Z=>26 +=>‘ ’(空格)
    eg:
    numbersToLetters(‘20 5 19 20+4 15 13 5’); 输出 TEST DOME
    分析: A字母是ascii码65开始的 a字母是97 将数字1转换为A的过程用到两个函数strtoupper(chr(value+64))chrASCIIord()ASCIIstrtoupper()chr(value+64)) chr 函数从指定的 ASCII 值返回字符 对应的 ord() 函数返回字符串的首个字符的 ASCII 值。 strtoupper() 函数把字符串转换为大写。 加这个函数是为了双保险chr(value+64)已经是大写了 对应的strtolower() 函数把字符串转换为小写。
    要注意 20+4 中间没有空格所以要在转成数组

    class NumbersToText
    {
        public static function numbersToLetters($string)
        {
          try {
            $arr = explode(' ',$string);
            $str = '';
            // print_r($arr);die;
            foreach ($arr as $key => $value) {
              if (is_numeric($value)) {
                $str .= strtoupper(chr($value+64));
              } else {
                $arrT = explode('+',$value);
                $str .= strtoupper(chr($arrT[0]+64)).' '.strtoupper(chr($arrT[0]+64));
              }
            }
            return $str;
          } catch (\Exception $e) {
            echo "error";
          }
        }
    }
    echo NumbersToText::numbersToLetters('20 5 19 20+4 15 13 5');
    die;
    
    展开全文
  • 腾讯面试编程题

    2019-04-22 20:16:00
    第1: ####solution1##########case通过率为100% import copy input_l=input().strip() try: n=int(input_l) res = [] for i in range(n): t = input() res.append(int(t)) ...

    第1题:

    ####solution1##########case通过率为100%
    import copy
    input_l=input().strip()
    try:
        n=int(input_l)
        res = []
        for i in range(n):
            t = input()
            res.append(int(t))
        res2 = copy.deepcopy(res)
        minl = res[0]
        maxl = res[n - 1]
        j = 0
        temp = 0
        while j < n - 1:
            res.sort()
            a = res.pop()
            b = res.pop()
            res.append(a * b + 1)
            j = j + 1
        minl = res[0]
        k = 0
        while k < n - 1:
            res2.sort()
            a = res2.pop(0)
            b = res2.pop(0)
            res2.append(a * b + 1)
            k = k + 1
        maxl = res2[0]
        print(maxl - minl)
    except ValueError:
        print("输入的不是数字")
    

      

     解析:每次将列表中最大两个数进行指定运算后去除,将运算结果加入列表,这样得到最后一个数是最小数

                每次将列表中最小的两个数进行指定运算后去除,将运算结果加入列表,这样得到最后一个数是最大数

     

     

     

    第2题:

     

     

     

     

    第1题

    同 Leetcode的第2题

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
            cur=ListNode(0)
            head=cur
            temp=0
            a=0
            while l1 and l2:
                a=l1.val+l2.val+temp
                temp=0
                if a>=10:
                    temp=a//10
                    a=a%10
                node=ListNode(a)
                cur.next=node
                l1=l1.next
                l2=l2.next
                cur=cur.next
            while l2:
                a=l2.val+temp
                temp=0
                if a>=10:
                    temp=a//10
                    a=a%10
                node=ListNode(a)
                cur.next=node
                l2=l2.next
                cur=cur.next
            while l1:
                a=l1.val+temp
                temp=0
                if a>=10:
                    temp=a//10
                    a=a%10
                node=ListNode(a)     
                cur.next=node
                l1=l1.next
                cur=cur.next
            if temp:
                node=ListNode(temp)
                cur.next=node
                cur=cur.next
            return head.next
    

      

    第2题

     

    转载于:https://www.cnblogs.com/graybird/p/10752696.html

    展开全文
  • python面试编程题

    2019-09-05 20:58:29
    """1 股票决定买入与卖出策略(具象化结果!)""" S = [10, 4, 8, 7, 9, 6, 2, 5, 3] maxProfit = 0 # 初始化(需迭代找出的变量值) buyDay = 0 sellDay = 0 # 确定买入与卖出的日期取值范围-->...
    """1 股票决定买入与卖出策略(具象化结果!)"""
    S = [10, 4, 8, 7, 9, 6, 2, 5, 3]
    maxProfit = 0 # 初始化(需迭代找出的变量值)
    buyDay = 0
    sellDay = 0
    
    # 确定买入与卖出的日期取值范围-->循环范围
    for i in range(len(S)-1):
      for j in range(i+1, len(S)):
          if S[j]-S[i] > maxProfit: # 判断当前是否利润最大化
            maxProfit = S[j] - S[i] # 若利润大于当前,则更新
            buyDay = i
            sellDay = j
    # 最终记录天数应+1
    print("应该在第{0}天买入,第{1}天卖出,最大交易利润为{2}".format(buyDay+1, sellDay+1, maxProfit))
    
    应该在第2天买入,第5天卖出,最大交易利润为5
    外循环走n-1次,内循环走n-i-1次,时间复杂度为n^2.
    
    展开全文
  • js数组经典面试编程题

    千次阅读 2019-03-08 21:50:20
    春招,秋招甚至是实习,多多少少会面临一些基础的编程题,这些编程题除了一些数据结构的典型情景,但是不能忽略,小看的也有一些基础编程题,如最简单的数组结构就有一些经典的编程题,这里进行简要的总结。...

    春招,秋招甚至是实习,多多少少会面临一些基础的编程题,这些编程题除了一些数据结构的典型情景,但是不能忽略,小看的也有一些基础编程题,如最简单的数组结构就有一些经典的编程题,这里进行简要的总结。

    • 数组去重:
    function Char(num){
         var a = []
         for(var i =0;i<num.length;i++){
             if(a.indexOf(num[i])==-1){
                 a.push(num[i])
             }
         }
         return a
     }
    •  查找数组中与目标相等的元素的下标
    function findAllTarget(arr, target) {
            var result=[];
            for(var i=0;i<arr.length;i++){
                if(arr[i]===target){
                    result.push(i);//假如一个数组中有多个与目标相等的对象,所以要用数组存起来
                }
            }
            return result;
        }
    • 查找数组中重复的元素
     function findRepeatTarget(arr) {
            //先给数组排序,然后如果后一个与前一个相等且未保存,则保存
            var a =[], b=[];
            a = arr.sort();
            for(var i in a){
                if(a[i]==a[i-1] && b.indexOf(a[i])==-1) {
                    b.push(a[i]);
                }
            }
            return b;
        }
    • 随机打乱一个数组 

          思路:从数组的最后一项开始,随机选择前面的一个元素进行交换,然后一步步往前交换

    //思路1:
    
    var shuffle = arr =>{
    let end = arr.length-1;
    while(end){
      const index = Math.floor(Math.rendom() * (end+1));
      [arr[index], arr[end]] = [arr[end], arr[index]];
      end = end-1; 
    }
      return arr;
    }
    
    //思路2:
    var arr2 = [1,2,3,4,5,6,7]
    function Ran(a,b){
    return Math.random() >=0.5 ? 1 :-1
    }
    arr2.sort(Ran)
    console.log(arr2)
    • 求数组元素min和max值
    function findMin(num){
         var a = num[0];
         for(var i =0;i<num.length;i++){
             if(a > num[i]){
                 a = num[i]
             }
         }
         return a
     }
    
     function findMax(num){
         var a = num[0];
         for(var i =0;i<num.length;i++){
             if(a < num[i]){
                 a = num[i]
             }
         }
         return a
     }

    前端关于数组的方法很多,也比较容易混淆,关于所有的细节,详见:数组方法不混淆

    展开全文
  • java面试编程题总结

    2019-04-03 15:48:59
    编程题:java找出100以内不包含7的数并打印,并且每行打印7个 public class test { public static void main(String[] args){ int count =0; for(int i=1;i<101;i++){ String tem =i+""; if...
  • java常见的面试编程题

    热门讨论 2012-04-23 14:16:15
    该代码是用java工程,里面有很多的编程题,也是大家常遇到的,如冒泡排序、查找素数等。想关常见的编程题,希望给你带来学习上的方便,同时也希望你对该代码不足的地方与我联系,并指正。
  • 常见面试编程题

    2017-08-24 08:22:37
    1.转圈打印矩形数组 比如矩形数组为: 1 2 3 ...【思路】正常一个矩形可以由对角元素确定,在这一题题中,可以以左上角和右下角两个元素的索引为基准展开,进行处理,一圈打印结束后,左上角元素的(x
  • 传闻这道简单猥琐的面试编程题令无数求职应试者饮恨而归,不信你可以试一试,知道秘密的同学不急着点破,答案过会儿揭晓。。  请用C语言编写完成以下函数,该函数实现了如下功能:调用者调用此函数,此函数提示由...
  • 之前在一本java程序员面试相关的书籍中看到一个面试编程题,现在把它写出来原题 写一段程序,要求打印出一张乘法口诀表思路:这个题目应该是面试题目中简单的编程题了,利用for循环的嵌套就可以完成,重要考察大家的...
  • Unity面试编程题

    千次阅读 2017-04-19 02:35:10
    1、实现吊机吊物体的功能 效果图 上面做了个横梁,上面一块Cube作为钩子,下面的Cube作为要吊起的重物,中间的绳子用Capsule ...思路:鼠标左右滑动实现钩子的左右滑动,松开鼠标---钩子下滑,当钩子等撞到重物...
  • 经典js面试编程题

    2020-05-21 16:51:46
    1、请在一个数组中找到和为目标值的两个整数,并返回其下标;找出其中一种组合即可。 例 arr=[1,2,3,4],target=4,返回结果[0,2] //方法一:遍历,缺点是时间复杂度为O(N^2) function add(arr,target){ ...
  • 字节跳动面试编程题

    2020-03-17 12:25:40
    螺旋打印数组 这个起初是我想得简单了,我以为只需要每次对一个元素进行搜索时按照“右下左上”的顺序来就好了。可是后来发现确实不是。 除了按照顺时针方向,同样还需要优先观察与来的方向相同的方向。所以准备...
  • 面试编程题拼多多

    千次阅读 2017-08-25 09:17:40
    编程题 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)。 思路: 1.存储的无序数组要为long型。 2.遍历数组,记录指定的数 3.(1...
  • 从事python自动的小伙伴,在面试的时候可能都会遇到这样的问题编程题,在此总结一下,也是给自己做个备忘录: 给你list求连续数组和的最大值,这可能是一道测试开发的题了,有一定的算法在里面,不过了解一下,也...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,218
精华内容 8,087
关键字:

面试编程题