Giter Site home page Giter Site logo

coding-interviews's People

Contributors

liyinjiang avatar todorex avatar xinliwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

coding-interviews's Issues

用栈实现队列的代码中有个Bug

public int pop() throws Exception {
if (stack2.isEmpty()) {
while (!stack1.isEmpty()) {
stack2.push(stack1.pop());
}
}

    if (stack1.isEmpty()) {
        throw new Exception("queue is empty");

    }
    return stack2.pop();

}

百分百抛Bug

表示数值的字符串中 正则表达式代码有误

正则表达式解法解法中:

匹配规则:[+-]?\\d*(\\.\\d+)?([eE][+-]?\\d+)? 有个问题,无法匹配233.这种小数点后没有数字的文本

书上有提到的:

            // 下面一行代码用||的原因
            // 1. 小数可以没有整数部分,如.123等于0.123
            // 2. 小数点后面可以没有数字,如233.等于233.0
            // 3. 当然,小数点前面和后面可以都有数字,如233.666

可以改成[+-]?[\\d]*[\\.]?[\\d]*([eE][+-]?\\d+)?

删除链表的节点 代码有误

地址: https://github.com/todorex/Coding-Interviews/blob/master/notes/%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E8%8A%82%E7%82%B9.md

题目二中代码有误:

// 考虑头指针是否存在
if (preNode == null) {
    pHead = next;
}

当头指针存在时,只是pHead = next;是无效的,因为java中是按值传递的,方法中无法修改实参pHead的值,只能修改pHead节点中的val和next属性。

正确的方式应该这样:

// 如果是头指针,就把next的值给它,并且让它的next指向next.next
if (preNode == null) {
    head.val = next.val;
    head.next = next.next;
    next.next = null;
}

这是测试用例:


// 测试
public static void main(String[] args) {
  ListNode listNode_1 = new ListNode(1);
  ListNode listNode_2 = new ListNode(1);
  ListNode listNode_3 = new ListNode(1);
  ListNode listNode_4 = new ListNode(4);
  ListNode listNode_5 = new ListNode(5);

  listNode_1.next = listNode_2;
  listNode_2.next = listNode_3;
  listNode_3.next = listNode_4;
  listNode_4.next = listNode_5;

  print_listNode(listNode_1); // 删除前

  deleteDuplication(listNode_1);
  print_listNode(listNode_1); // 删除后
}

// 打印listNode(用作测试)
public static void print_listNode(ListNode listNode) {
  while (listNode != null) {
      System.out.print(listNode.val+" ");
      listNode = listNode.next;
  }
  System.out.println();
}

单例设计模式

您好,请问对于剑指offer的第二题双重锁的单例设计模式,是否需要将属性设置为volatile,以防止指令集重排引发的线程安全问题?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.