1、不用中间变量,变换A和B的值// 1.中间变量 void swap(int a, int b) { int temp = a; a = b; b = temp; } // 2.加法 void swap(int a, int b) { a = a + b; b = a - b; a = a - b; } // 3.异或(相同为0,不同为1. 可以理解为不进
转载 2023-08-20 21:08:15
86阅读
1. 给一颗多叉树,求 从一个节点出发到其它所有节点的距离之和 的最小值。 树形 dp。一般两遍 dfs 就能解决。 第一遍 dfs 用 son[i] 记录每个节点多少个子孙,用 dis[i] 记录 i 点到其所有子孙的距离之和。 son[i]和 dis[i]都在回溯的过程进行维护。假设 v 是 u
原创 2021-07-22 14:00:38
173阅读
1.只出现一次的数字 使用异或运算符,相同数字异或得0,将所有数字异或到一起,最后只剩下一个数字,就是只出现一次的数字。异或运算具有交换律(a^b^c=a^c^b) 2.多数元素 向上取整:比自己大的最小整数,用数学符号⌊⌋表示;向下取整:比自己小的最大整数,用数学符号⌈⌉表示; eg:a=4.9, ...
转载 2021-10-01 20:38:00
202阅读
2评论
在苹果的 iOS 开发环境中,面试算法问题,尤其是排列组合类型的算法,往往是必不可少的一部分。这些算法不仅考察算法的设计能力,还涉及到对数学逻辑的深入理解。在这篇博文中,我将详解排列组合问题的解决过程,从技术原理的介绍到架构解析,再到源码分析,最后探讨其应用场景和展望未来的可能性。 ## 背景描述 在开发过程中,常常会遇到需要组合、排列元素的情况。这类问题通常出现在如下种种场景中: 1. 用
本章为算法部分,作为对程序员基本功的考察,算法几乎是所有公司、各种水平的程序员都要面对的必考内容。该部分采用 Swift 语言重新审视了多种数据结构和算法原理,可以说是为 iOS 开发者量身打造的算法解答。1. 基本数据结构数组数组是最基本的数据结构。在 Swift 中,以前 Objective-C 时代中将 NSMutableArray 和 NSArray 分开的做法,被统一到了唯一的数据结构
转载 2024-08-11 13:10:13
180阅读
面试算法2package myfile; /** * 请用Java语言写一个函数printArray(int[][] aData),该函数将一个二维数组以顺时针螺旋的方式打印出来。 * 例如,对数组: * 1 2 3 4 5 * 14 15 16 17 6 * 13 20 19 18 7 * 12 11 10 9 8 * * 打印出来的序列应该是:1,2,3,4,5,6,7,8
原创 2007-03-21 19:11:00
92阅读
前言很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。好在,很早之前就有一位阿里巴巴的技术专家总结了一份**《Java工程师成神之路》**,作者按照自己的经验总结了从基础,到高级、底层、架构、进阶、扩展等6个大的章节。几乎囊括了Java体系内的所有知识点。这份
 面试算法4 据说是华为笔试题,练习了一下。 package src;/* * 第二: 假设有个int型的数n,实现高低位的互换,比如12345,给换成54321,写一个方法实现n的高低位的互换。(n是几不知道) */import java.io.*;import java.util.regex.Matcher;import java.util.regex.Pattern;public cla
转载 2007-04-12 19:27:00
164阅读
2评论
od4 { public static int nchild=17;
原创 2007-04-12 19:24:00
42阅读
面试算法1在论坛看到有人提问,由于没有保存帖子路径,到处找了一下,没找到。干脆就放到blog上。/* * 有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数。 * 比如f(13)=6,现在f(1)=1,问下一个最大的f(n)=n的n是什么? * writed by chszs */ package myApp; import java.io.BufferedReader;
原创 2007-03-08 21:10:00
64阅读
面试算法6 做这些只是为了爱好,收集供所有找工作的学生和爱好者共享。  package mymethod;/** * 已知一组数字:21,25,11,32,12,35,55,77,66 要求按以下规则进行排序:第一个数最大,第二个数最小, * 第三个数是剩下中的最大的,第四个数是剩下中的最小的,依此类推,请设计一个字符界面的程序解决之. * @author acer */public clas
转载 2007-04-21 09:21:00
119阅读
2评论
面试算法5  做这些只是为了爱好,收集供所有找工作的学生和爱好者共享。 package mymethod;import java.util.HashSet;import java.util.Set;/** * 请设计一个字符界面的程序,用来找出1-500以内的完整数,所谓完整数是指其所有因子和(包括1而不包括自身)等于自身 * 的整数,例如28=1+2+4+7+14,1,2,4,7,14都是2
转载 2007-04-21 09:19:00
90阅读
2评论
 面试算法4据说是华为笔试题,练习了一下。package src; /* * 第二: 假设有个int型的数n,实现高低位的互换,比如12345,给换成54321,写一个方法实现n的高低位的互换。(n是几不知道) */ import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern;
原创 2007-04-12 19:27:00
31阅读
or acer */public cl
原创 2007-04-21 09:21:00
29阅读
面试算法5 做这些只是为了爱好,收集供所有找工作的学生和爱好者共享。package mymethod; import java.util.HashSet; import java.util.Set; /** * 请设计一个字符界面的程序,用来找出1-500以内的完整数,所谓完整数是指其所有因子和(包括1而不包括自身)等于自身 * 的整数,例如28=1+2+4+7+14,1,2,4
原创 2007-04-21 09:19:00
56阅读
对于Java系学生而言,Java虚拟机中的垃圾收集算法是一个很重要的面试考点。  常用的垃圾收集算法主要可划分为以下三类:  1. 标记-清除算法  标记清除算法是一种比较简单的方法,直接标记内存中待回收的对象,然后直接清除。但是存在的一个问题是效率过低,标记和清除的过程耗时过高;第二个问题是空间问题,存在较多的内存碎片,导致相应的内存使用率过低。 2. 复制算法  为解决效率问题,复制算法将内存
1. Given a sorted linked list, delete all duplicates such that each element appear only once.For example,Given 1->1->2, return 1->2.Given 1->1->2->3->...
转载 2015-08-27 20:31:00
195阅读
在Java面试中,算法题目经常成为决定候选人是否能够通过面试的重要因素之一。特别是在涉及到“排列组合”的问题时,如何有效地解决这些问题是至关重要的。在这篇文章中,我将深入探讨“java 面试算法代码”的解决过程,特别是排列组合逻辑,也会包含一些图表和代码示例,以确保你能全面理解相关概念。 ### 背景描述 在软件开发的过程中,处理组合和排列问题是非常普遍的,这类问题通常出现在数据处理、统计分
原创 6月前
33阅读
算法
原创 2013-12-27 12:11:36
1432阅读
算法,水仙花数
原创 2013-12-27 12:28:08
960阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5